Android의 색상 이해 (6 자)


212

Android에서 색상이 작동하는 방식을 이해하려고합니다. 이 색상을 내 배경으로 설정하고 LinearLayout투명도가있는 회색 배경을 얻습니다.

<gradient android:startColor="#b4555555" android:endColor="#b4555555"
 android:angle="270.0" />

마지막 두 문자 (55)를 제거하면 단색이 표시되어 투명도가 떨어집니다. 이에 대한 설명을 볼 수있는 페이지를 찾으려고했지만 찾을 수 없었습니다.

답변:


170

6 개의 16 진수를 제공하면 RGB (빨간색, 녹색 및 파란색의 각 값에 대해 2 개의 16 진수)를 의미합니다.

8 개의 16 진수를 제공하면 ARGB (각각 알파, 빨강, 녹색 및 파랑 값에 대해 2 개의 16 진수)입니다.

따라서 최종 55를 제거하면 A = B4, R = 55, G = 55, B = 55 (대부분 투명한 회색)에서 R = B4, G = 55, B = 55 (완전한 비)로 변경됩니다 -투명한 어스름 한 핑키).

지원되는 형식 은 "컬러"설명서 를 참조하십시오 .


코드를 통해 textView 투명도를 설정하는 방법은 무엇입니까? ARGB 값을 int로 변환하고 나중에 textView.setBackgroundColor (int color) 메서드에서 사용할 수 있습니다. 가능합니까? 그것을 달성하는 다른 방법이 있습니까?
Marek

@Marek : ARGB 값 사실상 정수입니다. developer.android.com/reference/android/graphics/Color.html ( <<페이지에서 찾을 수 있음) 의 문서를 참조하십시오 .
Jon Skeet

그러나 #AARRGGBB로 형식화되지 않았습니다. 그런 다음 0xAARRGGBB로 형식화됩니다. 그래서 setBackgroundColor 메서드에서 사용할 수 없었습니다. Color.parseColor ( "# AARRGGBB)를 사용할 수 있습니다
Marek

@Marek : "포맷"된 것이 아니라 정수일뿐입니다. 설명서에 나열된 다양한 비트를 결합 할 수 있습니다.
Jon Skeet

1
@Toaster : 아니요, 투명성.
Jon Skeet

1184

Android는 16 진수 ARGB 값을 사용하며이 값은 #AARRGGBB로 형식화됩니다. 첫 번째 문자 쌍인 AA는 알파 채널을 나타냅니다. 십진 불투명도 값을 16 진 값으로 변환해야합니다. 단계는 다음과 같습니다.

알파 16 진수 값 프로세스

  1. 불투명도를 10 진수 값으로 가져 와서 255를 곱하십시오. 따라서 50 % 불투명 한 블록이 있으면 10 진수 값은 .5가됩니다. 예를 들어 : .5 x 255 = 127.5
  2. 분수는 16 진수로 변환되지 않으므로 숫자를 가장 가까운 정수로 올림 또는 내림해야합니다. 예를 들면 : 127.5는 128로 올림합니다. 55.25는 55로 내림합니다.
  3. http://www.binaryhexconverter.com/decimal-to-hex-converter 와 같이 10 진수를 16 진수 변환기 로 입력하고 값을 변환하십시오.
  4. 단일 값만 가져 오면 접두사 0을 붙입니다. 예를 들어, 5 %의 불투명도를 얻으려고 시도하고이 프로세스를 수행하는 경우 16 진수 값 D가됩니다. 앞에 0을 추가하여 0D로 표시하십시오.

이것이 알파 채널 값을 찾는 방법입니다. 나는 당신을 위해 가치 목록을 만들 자유를 얻었습니다. 즐겨!

16 진 불투명도 값

  • 100 % — FF
  • 95 % — F2
  • 90 % — E6
  • 85 % — D9
  • 80 % — CC
  • 75 % — BF
  • 70 % — B3
  • 65 % — A6
  • 60 % — 99
  • 55 % — 8C
  • 50 % — 80
  • 45 % — 73
  • 40 % — 66
  • 35 % — 59
  • 30 % — 4D
  • 25 % — 40
  • 20 % — 33
  • 15 % — 26
  • 10 %-1A
  • 5 % — 0D
  • 0 % — 00

37
Android 머티리얼 색상 디자인 가이드 : google.com/design/spec/style/… 추가 정보 16 진수 불투명도 값 : 100 % : FF 87 % : DE 70 % : B3 54 % : 8A 30 % : 4D 26 % : 42 12 % : 1F
cn123h

여기에서 모든 값을 찾을 수 있습니다 : dtp-aus.com/hexadeci.htm 그리고 숫자를 255로 나누고 100을 곱하여 알파 0-100을 얻을 수 있습니다. 도움이 되길 바랍니다
Niib Fouda

12 % 알파 : echo "obase=16; ibase=10; (255*12+50)/100" | bc. (+50-가장 가까운 값으로 반올림하는 경우 실제로 100/2 임)
vigilancer

195

떨어져가는 @BlondeFurious에서 답 , 여기에 100 % 알파 % 0에서 각 16 진수 값을 얻기 위해 일부 Java 코드는 다음과 같습니다

for (double i = 1; i >= 0; i -= 0.01) {
    i = Math.round(i * 100) / 100.0d;
    int alpha = (int) Math.round(i * 255);
    String hex = Integer.toHexString(alpha).toUpperCase();
    if (hex.length() == 1)
        hex = "0" + hex;
    int percent = (int) (i * 100);
    System.out.println(String.format("%d%% — %s", percent, hex));
}

산출:

100%  FF
99%  FC
98%  FA
97%  F7
96%  F5
95%  F2
94%  F0
93%  ED
92%  EB
91%  E8
90%  E6
89%  E3
88%  E0
87%  DE
86%  DB
85%  D9
84%  D6
83%  D4
82%  D1
81%  CF
80%  CC
79%  C9
78%  C7
77%  C4
76%  C2
75%  BF
74%  BD
73%  BA
72%  B8
71%  B5
70%  B3
69%  B0
68%  AD
67%  AB
66%  A8
65%  A6
64%  A3
63%  A1
62%  9E
61%  9C
60%  99
59%  96
58%  94
57%  91
56%  8F
55%  8C
54%  8A
53%  87
52%  85
51%  82
50%  80
49%  7D
48%  7A
47%  78
46%  75
45%  73
44%  70
43%  6E
42%  6B
41%  69
40%  66
39%  63
38%  61
37%  5E
36%  5C
35%  59
34%  57
33%  54
32%  52
31%  4F
30%  4D
29%  4A
28%  47
27%  45
26%  42
25%  40
24%  3D
23%  3B
22%  38
21%  36
20%  33
19%  30
18%  2E
17%  2B
16%  29
15%  26
14%  24
13%  21
12%  1F
11%  1C
10%  1A
9%  17
8%  14
7%  12
6%  0F
5%  0D
4%  0A
3%  08
2%  05
1%  03
0%  00

JavaScript 버전은 다음과 같습니다.


'number to hex'(Google에서 숫자를 16 진수)로 지정할 수도 있습니다. 여기서 'number'는 0에서 255 사이의 값입니다.


36

안드로이드 머티리얼 디자인

텍스트 색상 불투명도 수준을 설정하기위한 변환입니다.

  • 100 % : FF
  • 87 % : DE
  • 70 % : B3
  • 54 % : 8A
  • 50 % : 80
  • 38 % : 61
  • 12 % : 1 층

밝은 배경에 어두운 텍스트

여기에 이미지 설명을 입력하십시오

  • 기본 텍스트 : DE000000
  • 보조 텍스트 : 8A000000
  • 비활성화 된 텍스트, 힌트 텍스트 및 아이콘 : 61000000
  • 분할기: 1F000000

어두운 배경에 흰색 텍스트

여기에 이미지 설명을 입력하십시오

  • 기본 텍스트 : FFFFFFFF
  • 보조 텍스트 : B3FFFFFF
  • 비활성화 된 텍스트, 힌트 텍스트 및 아이콘 : 80FFFFFF
  • 분할기: 1FFFFFFF

또한보십시오


정말 고마워요! 2019 년 1 월 7 일부터 연결 한 Android Material Design 페이지에서이 값이 더 이상 표시되지 않습니다. 이것들은 여전히 ​​공식적으로 권장되는 값이며, 다른 공식적인 출처가 있습니까? 감사!
TheUnwokenFool

@TheUnwokenFool,이 답변은 구식 일 수 있습니다. 텍스트의 불투명도를 설정하는 것과 관련하여 아무것도 보이지 않습니다. 모순이있는 경우 현재 지침을 따르십시오.
Suragch

17

Android에서는 색상을 RGB 또는 ARGB로 지정할 수 있습니다.

http://en.wikipedia.org/wiki/ARGB

RGB에는 모든 색상 (빨강, 녹색, 파랑)에 대해 두 개의 문자가 있으며 ARGB에는 알파 채널에 대한 두 개의 추가 문자가 있습니다.

따라서 8자가있는 경우 ARGB이며 첫 두 문자는 알파 채널을 지정합니다. 앞의 두 문자를 제거하면 RGB 만입니다 (단색, 투명도 없음). Java 소스 코드에서 색상을 지정하려면 다음을 사용해야합니다.

int Color.argb (int alpha, int red, int green, int blue)

alpha  Alpha component [0..255] of the color
red    Red component [0..255] of the color
green  Green component [0..255] of the color
blue   Blue component [0..255] of the color

참조 : argb


7

8 자리 16 진수 색상 값은 ARGB (알파, 빨강, 녹색, 파랑)를 나타내는 반면 6 자리 값은 100 % 불투명도 (완전히 불투명)를 가정하고 RGB 값만 정의합니다. 완전히 불투명하게하려면 # FF555555를 사용하거나 # 555555를 사용하면됩니다. 각 2 자리 16 진수 값은 1 바이트이며 0-255의 값을 나타냅니다.


-1

새로운 크롬 버전 (67.0.3396.62)에서 CSS 16 진수 색상은이 모델 디스플레이를 사용할 수 있습니다.

예 :

div{
  background-color:#FF00FFcc;
}

cc 는 불투명 하지만 오래된 크롬은 해당 모드를 지원하지 않습니다.


StackOverflow에 오신 것을 환영합니다 . 둘러보기 를 방문하십시오 . Chrome 또는 HTML이 아닌 Android의 색상에 대해 문의 한 답변이 OP에 도움이되지 않습니다.
PeS

@PeS는 어제, yes이지만 같은 표현을 가지고 있습니다.
Heicks
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.