RGB,ARGB颜色值的表示表示

今天在Android设置文字的颜色时候遇到了一些问题,在这里记下解决方法。

说明:sms_etxt是一个得到的<Textview/>的ID。

setTextColor()的参数应该写成以下的这种形式:setTextColor(0xFF0000FF)。

1、Android中的颜色值表示

Android 定义颜色color时6位或8位值的区别

  • 6位(#000000)就是RGB值
  • 8位(#1e000000)ARGB 头两位是透明度,00是完全透明,ff是完全不透明,后6位是RGB值,比较适中的透明度值是int color = Color.argb ( 127,  255,  0,  255 ); 其中第一个参数表示透明,0表示完全透明,255(ff)表示完全不透明;后三位分别代表RGB的值了。

2、在Android中我们有两种方法来设置用到的颜色

1、用XML资源文件来定义颜色。(位置一般是res/values/colors.xml)

XML定义方法接受6位和8位两种表示法,而且开头必须是#,8位定义时前两位表示透明。

2、在程序中直接设置

  • setBackgroundColor(android.graphics.Color.argb(127, 255,0, 255));
  • setTextColor(0xFF0000FF)

这种方法必须使用0x开头,而不是用我们常用的#。值也必须用8位表示 ,不接受6位的颜色表示。

总结:0x|ff|ff00ff,0x是代表颜色整数的标记,ff是表示透明度,ff00ff表示RGB颜色值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章