了解Android上的颜色(六个字符)

了解Android上的颜色(六个字符)

我试图了解Android中的颜色是如何工作的。我把这个颜色设置为我的背景LinearLayout,然后我得到一个透明的背景灰色:

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

如果我删除最后两个字符(55),我会得到一个纯色,失去透明度。我试图找到一个页面,我可以看到有关此的一些解释,但我找不到它。


慕斯王
浏览 370回答 3
3回答

收到一只叮咚

如果提供6个十六进制数字,则表示RGB(红色,绿色和蓝色的每个值为2个十六进制数字)。如果您提供8个十六进制数字,则它是ARGB(分别为alpha,red,green和blue的每个值的2个十六进制数字)。所以通过删除最后的55你从A = B4变换,R = 55,G = 55,B = 55(一个大多数是透明的灰色),到R = B4,G = 55,B = 55(完全非 - 透明昏暗的小指)。有关支持的格式,请参阅“颜色”文档。

动漫人物

从@BlondeFurious中得到答案,这里有一些Java代码可以将每个十六进制值从100%变为0%alpha:for&nbsp;(double&nbsp;i&nbsp;=&nbsp;1;&nbsp;i&nbsp;>=&nbsp;0;&nbsp;i&nbsp;-=&nbsp;0.01)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;=&nbsp;Math.round(i&nbsp;*&nbsp;100)&nbsp;/&nbsp;100.0d; &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;alpha&nbsp;=&nbsp;(int)&nbsp;Math.round(i&nbsp;*&nbsp;255); &nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;hex&nbsp;=&nbsp;Integer.toHexString(alpha).toUpperCase(); &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(hex.length()&nbsp;==&nbsp;1) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hex&nbsp;=&nbsp;"0"&nbsp;+&nbsp;hex; &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;percent&nbsp;=&nbsp;(int)&nbsp;(i&nbsp;*&nbsp;100); &nbsp;&nbsp;&nbsp;&nbsp;System.out.println(String.format("%d%%&nbsp;—&nbsp;%s",&nbsp;percent,&nbsp;hex));}输出:100% — FF99% — FC98% — FA97% — F796% — F595% — F294% — F093% — ED92% — EB91% — E890% — E689% — E388% — E087% — DE86% — DB85% — D984% — D683% — D482% — D181% — CF80% — CC79% — C978% — C777% — C476% — C275% — BF74% — BD73% — BA72% — B871% — B570% — B369% — B068% — AD67% — AB66% — A865% — A664% — A363% — A162% — 9E61% — 9C60% — 9959% — 9658% — 9457% — 9156% — 8F55% — 8C54% — 8A53% — 8752% — 8551% — 8250% — 8049% — 7D48% — 7A47% — 7846% — 7545% — 7344% — 7043% — 6E42% — 6B41% — 6940% — 6639% — 6338% — 6137% — 5E36% — 5C35% — 5934% — 5733% — 5432% — 5231% — 4F30% — 4D29% — 4A28% — 4727% — 4526% — 4225% — 4024% — 3D23% — 3B22% — 3821% — 3620% — 3319% — 3018% — 2E17% — 2B16% — 2915% — 2614% — 2413% — 2112% — 1F11% — 1C10% — 1A9% — 178% — 147% — 126% — 0F5% — 0D4% — 0A3% — 082% — 051% — 030% — 00JavaScript版本如下:var&nbsp;text&nbsp;=&nbsp;document.getElementById('text');for&nbsp;(var&nbsp;i&nbsp;=&nbsp;1;&nbsp;i&nbsp;>=&nbsp;0;&nbsp;i&nbsp;-=&nbsp;0.01)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;=&nbsp;Math.round(i&nbsp;*&nbsp;100)&nbsp;/&nbsp;100; &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;alpha&nbsp;=&nbsp;Math.round(i&nbsp;*&nbsp;255); &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;hex&nbsp;=&nbsp;(alpha&nbsp;+&nbsp;0x10000).toString(16).substr(-2).toUpperCase(); &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;perc&nbsp;=&nbsp;Math.round(i&nbsp;*&nbsp;100); &nbsp;&nbsp;&nbsp;&nbsp;text.innerHTML&nbsp;+=&nbsp;perc&nbsp;+&nbsp;"%&nbsp;—&nbsp;"&nbsp;+&nbsp;hex&nbsp;+&nbsp;"&nbsp;("&nbsp;+&nbsp;alpha&nbsp;+&nbsp;")</br>";}<div&nbsp;id="text"></div>你也可以只谷歌“数字到十六进制”,其中'数字'是0到255之间的任何值。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android