您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么在Android項目中表示顏色,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
Android中的顏色表示
在Android中顏色用一個32位整數來表示,32位整數包含4個字節,其中第一個字節代表該顏色的透明度(Alpha),0表示完全透明,0xFF表示完全不透明。第2,3,4字節分別代表該顏色在RGB顏色空間中紅色(R),綠色(G)和藍色(B)三個顏色分量的值,0代表沒有該顏色分量,0xFF代表該顏色分量達到最大。例如0xCCFF0000表示80%透明度的紅色。
XML中的顏色表示
在XML中用#加顏色值來表示一個顏色,例如#FFA1A100。如果透明度為0xFF,即完全不透明,則透明度可以省略,例如#FFA1A100可以寫成#A1A100。
代碼中的顏色表示
代碼中可以通過getColor()來獲取XML中配置好的顏色,也可以直接用一個顏色的整數值來表示該顏色。
需要注意的是,當直接用一個顏色的整數值來表示該顏色時,透明度為0xFF時不能省略,否則會認為透明度為0,也就是完全透明,而導致該顏色無法顯示。
例如XML中的顏色#A1A100,在代碼中應該寫成0xFFA1A100,而不能寫成0xA1A100。
再比如要為listView設置一個紅色的分割線,正確的寫法是
listView.setDivider(new ColorDrawable(0xFFFF0000)); listView.setDividerHeight(1);
如果寫成
listView.setDivider(new ColorDrawable(0xFF0000)); listView.setDividerHeight(1);
則看不到任何分割線,因為0xFF0000表示的是一個完全透明的顏色。
這點通過getColor()來獲取顏色XML中配置好的顏色時也可以看出來。
比如在xml中定義了如下的顏色
<color name="color_in_name">#A1A100</color>
在代碼中獲取該顏色
int color = getResources().getColor(R.color.color_in_name); Log.i("color value: ", String.valueOf(color));
看完上述內容,你們對怎么在Android項目中表示顏色有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。