在android中有什么用0xff -colors?

时间:2016-08-08 22:01:01

标签: android colors

有时在Android项目中会有'0xff4ca665'等颜色格式。

使用它们的目的是什么?

3 个答案:

答案 0 :(得分:4)

一些程序员来自于具有明显24位颜色的更多经验。有时它在Android中很重要,在renderscript的一些更直接的操作中,alpha不会被掩盖。并且如你所愿' 0xff4ca665'告诉你想要的系统' 0x4ca665'并且希望以后能正确掩盖其他东西似乎是对某些事情的粗略赌注,这些事情甚至不会浪费时钟周期。

有些人不会使用resID链接到颜色或者给你一个像View.setBackgroundColor(int)这样的选项,其中颜色的int以32位整数编码。

具体来说,这就是24位颜色的alpha遮罩是如何工作的。它们被格式化为32位整数,如0bAAAAAAAARRRRRRRRGGGGGGGGBBBBBBBB所以RGB的每种颜色都有8位,并且对于使用后来用于渲染结果的任何PorterDuff混合完成的alpha,有8位掩蔽。 Android将颜色纯粹存储为整数,因此使用这些颜色是一个好主意,如果这是最终的结果。

当您以十六进制形式执行此操作时,每个事物都会得到两位数0xAARRGGBB,并且AA设置为ff,意思是255或完全不透明。无需相信颜色不完全不透明。很多时候,如果你将它们留作00,你最终得到的是空白图像,或者完全透明的图像。如果我们只是公开包含alpha,那么知道它重要的时间是不值得的。

Android还有一些其他方案,重要的是存储颜色。即4444,其存储alpha并且每种颜色以4位存储。并且565以5位存储红色,以6位存储绿色,以5位存储蓝色。两者最终总共使用16位而不是32位。但是,很多编码方案都使用8888这是相当标准的,所以看到人们引用这样的颜色非常常见,特别是在十六进制中。

答案 1 :(得分:3)

某些Android API如View.setBackgroundColor()期望ARGB格式的颜色整数。因此0xff4ca665表示完全不透明的RGB颜色#4ca665,而整数0x4ca665等于0x004ca665,因此表示完全透明的颜色。

答案 2 :(得分:2)

@RELATION face_features_ASM_usnig_all @ATTRIBUTE A1 REAL @ATTRIBUTE A2 REAL @ATTRIBUTE A3 REAL @ATTRIBUTE A4 REAL @ATTRIBUTE A5 REAL @ATTRIBUTE A6 REAL @ATTRIBUTE A7 REAL @ATTRIBUTE A8 REAL @ATTRIBUTE A9 REAL @ATTRIBUTE A10 REAL @ATTRIBUTE A11 REAL @ATTRIBUTE A12 REAL @ATTRIBUTE A13 REAL @ATTRIBUTE A14 REAL @ATTRIBUTE A15 REAL @ATTRIBUTE A16 REAL @ATTRIBUTE A17 REAL @ATTRIBUTE A18 REAL @ATTRIBUTE A19 REAL @ATTRIBUTE A20 REAL @ATTRIBUTE A21 REAL @ATTRIBUTE A22 REAL @ATTRIBUTE A23 REAL @ATTRIBUTE A24 REAL @ATTRIBUTE A25 REAL @ATTRIBUTE A26 REAL @ATTRIBUTE A27 REAL @ATTRIBUTE A28 REAL @ATTRIBUTE A29 REAL @ATTRIBUTE A30 REAL @ATTRIBUTE A31 REAL @ATTRIBUTE A32 REAL @ATTRIBUTE A33 REAL @ATTRIBUTE A34 REAL @ATTRIBUTE A35 REAL @ATTRIBUTE A36 REAL @ATTRIBUTE A37 REAL @ATTRIBUTE A38 REAL @ATTRIBUTE A39 REAL @ATTRIBUTE A40 REAL @ATTRIBUTE A41 REAL @ATTRIBUTE A42 REAL @ATTRIBUTE A43 REAL @ATTRIBUTE A44 REAL @ATTRIBUTE A45 REAL @ATTRIBUTE A46 REAL @ATTRIBUTE A47 REAL @ATTRIBUTE A48 REAL @ATTRIBUTE A49 REAL @ATTRIBUTE A50 REAL @ATTRIBUTE A51 REAL @ATTRIBUTE A52 REAL @ATTRIBUTE A53 REAL @ATTRIBUTE A54 REAL @ATTRIBUTE A55 REAL @ATTRIBUTE A56 REAL @ATTRIBUTE A57 REAL @ATTRIBUTE A58 REAL @ATTRIBUTE A59 REAL @ATTRIBUTE A60 REAL @ATTRIBUTE A61 REAL @ATTRIBUTE A62 REAL @ATTRIBUTE A63 REAL @ATTRIBUTE A64 REAL @ATTRIBUTE A65 REAL @ATTRIBUTE A66 REAL @ATTRIBUTE A67 REAL @ATTRIBUTE A68 REAL @ATTRIBUTE A69 REAL @ATTRIBUTE A70 REAL @ATTRIBUTE A71 REAL @ATTRIBUTE A72 REAL @ATTRIBUTE A73 REAL @ATTRIBUTE A74 REAL @ATTRIBUTE A75 REAL @ATTRIBUTE A76 REAL @ATTRIBUTE A77 REAL @ATTRIBUTE A78 REAL @ATTRIBUTE A79 REAL @ATTRIBUTE A80 REAL @ATTRIBUTE A81 REAL @ATTRIBUTE A82 REAL @ATTRIBUTE A83 REAL @ATTRIBUTE A84 REAL @ATTRIBUTE A85 REAL @ATTRIBUTE A86 REAL @ATTRIBUTE A87 REAL @ATTRIBUTE A88 REAL @ATTRIBUTE A89 REAL @ATTRIBUTE A90 REAL @ATTRIBUTE A91 REAL @ATTRIBUTE A92 REAL @ATTRIBUTE A93 REAL @ATTRIBUTE A94 REAL @ATTRIBUTE A95 REAL @ATTRIBUTE A96 REAL @ATTRIBUTE A97 REAL @ATTRIBUTE A98 REAL @ATTRIBUTE A99 REAL @ATTRIBUTE A100 REAL @ATTRIBUTE class {Person1,Person2,Person3,Person4,Person5} @DATA 51.820,46.901,26.646,-53.556,31.995,2.435,7.748,-48.387,23.861,-75.401,-46.461,-42.062,-25.493,-52.391,-13.073,-63.624,- 49.200,23.057,-58.704,-62.997,-75.624,7.642,5.870,76.625,43.654,-0.859,-26.375,-0.915,-60.741,-16.781,14.860,1.729,- 17.014,26.867,35.407,2.523,-12.049,-28.276,18.744,-39.211,-42.997,28.665,-77.878,-26.688,-2.889,-89.605,-72.116,47.751,- 43.469,2.707,10.366,-52.120,-22.891,48.342,-2.071,-58.657,-16.388,24.407,-17.994,-80.313,33.966,29.153,-51.709,- 22.568,39.525,5.397,-26.314,-26.655,46.403,-85.413,-60.195,-10.727,6.769,-65.528,18.489,-25.848,31.052,-19.554,36.605,-18.419,- 63.856,54.886,-0.772,1.530,105.988,83.374,19.018,20.332,136.130,-23.827,-32.828,12.822,23.990,-10.836,-33.045,145.105,- 42.044,82.520,-46.695,94.547,Person1相同的原因......表示ARGB color value

如果在颜色XML中使用上述内容,则前导#ff4ca665并非完全必要,因为它们具有完全不透明度。

ff将是等效的Java表示。

在任何情况下,您都会获得以下颜色



0xff4ca665