国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android中的顏色表示的詳解

2019-12-12 01:53:53
字體:
供稿:網(wǎng)友

Android中的顏色表示

在Android中顏色用一個(gè)32位整數(shù)來表示,32位整數(shù)包含4個(gè)字節(jié),其中第一個(gè)字節(jié)代表該顏色的透明度(Alpha),0表示完全透明,0xFF表示完全不透明。第2,3,4字節(jié)分別代表該顏色在RGB顏色空間中紅色(R),綠色(G)和藍(lán)色(B)三個(gè)顏色分量的值,0代表沒有該顏色分量,0xFF代表該顏色分量達(dá)到最大。例如0xCCFF0000表示80%透明度的紅色。

XML中的顏色表示

在XML中用#加顏色值來表示一個(gè)顏色,例如#FFA1A100。如果透明度為0xFF,即完全不透明,則透明度可以省略,例如#FFA1A100可以寫成#A1A100。

代碼中的顏色表示

代碼中可以通過getColor()來獲取XML中配置好的顏色,也可以直接用一個(gè)顏色的整數(shù)值來表示該顏色。

需要注意的是,當(dāng)直接用一個(gè)顏色的整數(shù)值來表示該顏色時(shí),透明度為0xFF時(shí)不能省略,否則會(huì)認(rèn)為透明度為0,也就是完全透明,而導(dǎo)致該顏色無法顯示。

例如XML中的顏色#A1A100,在代碼中應(yīng)該寫成0xFFA1A100,而不能寫成0xA1A100。

再比如要為listView設(shè)置一個(gè)紅色的分割線,正確的寫法是

listView.setDivider(new ColorDrawable(0xFFFF0000));listView.setDividerHeight(1);

如果寫成

listView.setDivider(new ColorDrawable(0xFF0000));listView.setDividerHeight(1);

則看不到任何分割線,因?yàn)?xFF0000表示的是一個(gè)完全透明的顏色。

這點(diǎn)通過getColor()來獲取顏色XML中配置好的顏色時(shí)也可以看出來。

比如在xml中定義了如下的顏色

<color name="color_in_name">#A1A100</color>

在代碼中獲取該顏色

int color = getResources().getColor(R.color.color_in_name);Log.i("color value: ", String.valueOf(color));

可以看到color的實(shí)際值是-6184704,也就是0xFFA1A100,而不是0xA1A100。

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 嘉善县| 汶上县| 鸡东县| 望江县| 安徽省| 东城区| 宜良县| 固阳县| 英山县| 武清区| 肃宁县| 汕头市| 石阡县| 孟连| 灯塔市| 进贤县| 巫山县| 光山县| 文水县| 镇康县| 兴安盟| 台山市| 班戈县| 扎赉特旗| 柘城县| 阳朔县| 大丰市| 桂东县| 怀化市| 海盐县| 红原县| 蓝山县| 集贤县| 津南区| 威信县| 于都县| 石楼县| 丹东市| 广灵县| 越西县| 灯塔市|