2013-05-17 1 views
22

불투명도 값을 xml 드로어 블의 색상으로 설정해야합니다. 하지만 불투명도 (# 20C0C0C0)의 두 값을 추가하려고하면 작동하지 않습니다. 색상은 전체적으로 투명합니다. 여기 xml 드로어 블에서 알파/불투명도 값을 컬러로 설정하는 방법은 무엇입니까?

내 코드는

...

<?xml version="1.0" encoding="utf-8"?> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android" > 
    <corners 
     android:radius="2dp" /> 
    <solid 
     android:color="#CDCDCD" /> 
    <stroke 
     android:width="2dp" 
     android:color="@android:color/darker_gray" /> 
    <size 
     android:height="60dp" 
     android:width="80dp"/> 
    </shape> 

사람은 아이디어가? 도움 주셔서 감사합니다.

+1

CDCDCD이 불투명 한 색상이 있습니다. 처음 두 바이트는 알파 채널입니다. FF는 최대 알파 00 최소값입니다. # 00CDCDCD는 완전히 투명한 색입니다. – Blackbelt

+2

[Shape Drawables] (http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape)에 대한 알파 설정은 없습니다. – TronicZomB

답변

54

색상이 완전히 투명하게 나타나 "거의"투명합니다. 진수 색상은 일반적으로 6 자리입니다 #RRGGBB하지만 불투명도를 설정하려는 경우 20C0C0C0 당신의 불투명도를 16 진수에서 20

(기본-16)로 스케일이 귀하의 케이스 번호에, 그래서 당신은 시작에 2 자리 전달 :

  • Base 16 | 베이스 10
  • 0 | 0 (완전히 투명 함)
  • 20 | 32 (이것은 당신의 불투명도 임)
  • FF | 255 (완전히 불투명 함)

그래서 불투명도는 ~ 12 %에 불과합니다.

당신은 그래서

불투명 (이하 투명) 더 높은 번호를 사용 (7F 당신에게 약 50 %를 줄 것이다 불투명도)로 그것을하고 싶은 경우 :

<solid android:color="#7FC0C0C0" /> 
48

내가 조금 늦게 될 수있다 다른 사람이이 게시물에 오면 일부 알파 값을 찾고 있습니다. 제라드 Rummler는 작업을했고, https://stackoverflow.com/a/27813407/5973229

그래서 그는 16 진 코드의 모든 불투명도 값 계산하기 위해이 방법을 사용하는 모든 posibile 값으로 우리를 provids :

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 
+1

감사합니다, 내 problm을 해결 – murli

+2

16 진수 테이블 주셔서 감사합니다 <3 –

0

사람들이 이것을 볼 때의 답변을 2018 년에 게시합니다. API 버전> 롤리팝을 개발할 때 알파에 16 진수 값을 사용할 필요가 없습니다. 나는 어제 이것을 확인했고 이것에 대해서도 놀랐다.

안드로이드 색 구성표에서 색 흰색은 16 진수 값을 #FFFFFF와 같이 사용합니다. 이 색의 RGB 채널을 나타냅니다. 다른 말로하면 @Cumulo Nimbus, #RRGGBB에서 언급했듯이.

불투명도/투명도의 경우 #AARRGGBB를 제공하는 알파 채널도 포함시켜야합니다. 10 진수/부정 기수 (기본 10)에서는 R, G, B 채널의 범위는 0-255이고 알파 채널의 범위는 0-100이므로 50 % 불투명도로 제공 한 색상 견본을 사용하려면 모두 필요합니다. do는 다음과 같습니다.

<solid android:color="#50C0C0C0"/> 

여기서 50은 필요한 불투명도의 백분율입니다. 완전히 불투명 한 옵션 즉 100 % 불투명도의 경우 # FFC0C0C0 또는 # 100C0C0C0을 사용할 필요가 없습니다 (참고 : 아무 것도 표시되지 않음). 대신 # C0C0C0으로 남겨 두십시오.