Answers:
使颜色在Alpha通道中占80%。例如,用于红色用途#CCFF0000
:
<TextView
...
android:background="#CCFF0000" />
在示例中,CC
是的十六进制数255 * 0.8 = 204
。请注意,前两个十六进制数字用于alpha通道。格式为#AARRGGBB
,其中AA
alpha通道,RR
红色通道,GG
绿色通道和BB
蓝色通道。
我假设20%的透明意味着80%的不透明。如果您以其他方式表示,请代替CC
使用33
的十六进制形式255 * 0.2 = 51
。
为了计算Alpha透明度值的正确值,您可以按照以下步骤操作:
100-20=80
)2^8=256
),表示范围从0到255。255 * 0.8 = 204
。根据需要舍入到最接近的整数。0xCC
。FF0000
,您将拥有CCFF0000
。android:background="#CCFFFFFF"
。
将以下代码用于黑色:
<color name="black">#000000</color>
现在,如果我要使用不透明度,则可以使用以下代码:
<color name="black">#99000000</color> <!-- 99 is for alpha and others pairs zero's are for R G B -->
以下是不透明度代码:以及此处的所有不透明度级别
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
如果您始终忘记透明的代码,则必须查看下面的链接,而不必担心记住任何与透明代码有关的内容:
https://github.com/duggu-hcd/TransparentColorCode
textviewHeader.setTextColor(Color.parseColor(ColorTransparentUtils.transparentColor(R.color.border_color,10)));
您可以更改颜色定义中的前两个字符来管理颜色不透明度:
#99 000000
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
您可以尝试执行以下操作:
textView.getBackground().setAlpha(51);
在这里,您可以将不透明度设置为0(完全透明)到255(完全不透明)之间。51正是您想要的20%。
textView
变量是null
。
myImage.setAlpha(0.5f);
将Alpha应用于View本身,但是我在答案中显示的内容将应用于View的背景可绘制对象。
我已经采取了三种看法。在第一个视图中,我设置了全色(无Alpha)颜色,在第二个视图中,我设置了一半(0.5 Alpha)颜色,在第三个视图中,我设置了浅色(0.2 Alpha)。
您可以使用以下代码来设置任何颜色并使用alpha获取颜色:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools = "http://schemas.android.com/tools"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:gravity = "center"
android:orientation = "vertical"
tools:context = "com.example.temp.MainActivity" >
<View
android:id = "@+id/fullColorView"
android:layout_width = "100dip"
android:layout_height = "100dip" />
<View
android:id = "@+id/halfalphaColorView"
android:layout_width = "100dip"
android:layout_height = "100dip"
android:layout_marginTop = "20dip" />
<View
android:id = "@+id/alphaColorView"
android:layout_width = "100dip"
android:layout_height = "100dip"
android:layout_marginTop = "20dip" />
</LinearLayout>
public class MainActivity extends Activity {
private View fullColorView, halfalphaColorView, alphaColorView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fullColorView = (View)findViewById(R.id.fullColorView);
halfalphaColorView = (View)findViewById(R.id.halfalphaColorView);
alphaColorView = (View)findViewById(R.id.alphaColorView);
fullColorView.setBackgroundColor(Color.BLUE);
halfalphaColorView.setBackgroundColor(getColorWithAlpha(Color.BLUE, 0.5f));
alphaColorView.setBackgroundColor(getColorWithAlpha(Color.BLUE, 0.2f));
}
private int getColorWithAlpha(int color, float ratio) {
int newColor = 0;
int alpha = Math.round(Color.alpha(color) * ratio);
int r = Color.red(color);
int g = Color.green(color);
int b = Color.blue(color);
newColor = Color.argb(alpha, r, g, b);
return newColor;
}
}
Kotlin版本:
private fun getColorWithAlpha(color: Int, ratio: Float): Int {
return Color.argb(Math.round(Color.alpha(color) * ratio), Color.red(color), Color.green(color), Color.blue(color))
}
完成
我们也可以使dis透明化。
白色代码-FFFFFF
20%白色-#33 FFFFFF
20%— 33
70%白色-#B3 FFFFFF
70%— B3
全部十六进制值从100%到0%
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,19%-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
从100%到0%alpha的所有十六进制值,您可以使用下面提到的alpha值设置任何颜色。例如#FAFFFFFF(ARRGGBB)
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
有一个XML值带有alpha
双精度值。
由于API 11+
范围是从0f
到1f
(包括),因此0f
是透明的和1f
不透明的:
android:alpha="0.0"
多数民众赞成在看不见的
android:alpha="0.5"
透视
android:alpha="1.0"
完全可见
就是这样。
请在textView下方使用此查看人气
android:alpha="0.38"
XML格式
android:color="#3983BE00" // Partially transparent sky blue
动态地
btn.getBackground()。setAlpha(128); // 50%透明
tv_name.getBackground()。setAlpha(128); // 50%透明
Where the INT ranges from 0 (fully transparent) to 255 (fully opaque).
<TextView
style="@style/TextAppearance.AppCompat.Caption"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:alpha="0.38"
android:gravity="start"
android:textStyle="bold"
tools:text="1994|EN" />
android:alpha =“ 0.38”
Text View alpha property set 0.38 to your textView visibility is faid
在Kotlin中,您可以像这样使用alpha,
//Click on On.//
view.rel_on.setOnClickListener{
view.rel_off.alpha= 0.2F
view.rel_on.alpha= 1F
}
//Click on Off.//
view.rel_off.setOnClickListener {
view.rel_on.alpha= 0.2F
view.rel_off.alpha= 1F
}
希望这会对您有所帮助。
我知道,这是一个非常老的问题。
如果您要使用颜色值,则还可以将其与一起使用#ARGB
。A
alpha通道的值在哪里。
如果是白色,则具有以下透明度值:
#FFFF - 0%
#EFFF - 6,7%
#DFFF - 13,3%
#CFFF - 20,0%
#BFFF - 26,7%
#AFFF - 33,3%
#9FFF - 40,0%
#FFF8 - 46,7%
#7FFF - 53,3%
#6FFF - 60,0%
#5FFF - 66,7%
#4FFF - 73,3%
#3FFF - 80,0%
#2FFF - 86,7%
#1FFF - 93,3%
#0FFF - 100,0%
因此,您可以TextView
添加以下行以获得20%的透明度:
<TextView
android:background="#CFFF"
... />
这是@Aromero的答案的程序化解决方案,用于计算alpha通道的十六进制值。:)
public static void main(String[] args) throws Exception {
final Scanner scanner = new Scanner(System.in);
int transPerc;
float fPerc;
System.out.println("Enter the transparency percentage without % symbol:");
while((transPerc=scanner.nextInt())>=0 && transPerc <=100){
fPerc = (float) transPerc / 100;
transPerc = Math.round(255 * fPerc);
System.out.println("= " + Integer.toHexString(transPerc));
System.out.print("another one please : ");
}
scanner.close();
}