導航:首頁 > 操作系統 > android顏色資源

android顏色資源

發布時間:2023-01-25 21:32:32

android 中代碼定義顏色的幾種方式

Android開發中顏色的自定義方法

1、使用Color類的常量,如:
int color = Color.BLUE; // 創建一個藍色 是使用Android提供的顏色 int color = Color.RED; int color = Color.WHITE; 2、通過ARGB構建,如:
int color = Color.argb ( 127, 255, 0, 255 ); // 半透明的紫色
其中第一個參數表示透明,0表示完全透明,255(ff)表示完全不透明;後三位分別代表RGB的值了。 3、使用XML資源文件來定義顏色
該方法擴展性好,便於修改和共享,如在values目錄下創建一個color.xml: <?xml version=」 1.0」 encoding=」utf -8」> <resources>
<color name=」mycolor」> #7fff00ff</color> </resources>
定義了一個名為mycolor的顏色,在別的地方就可以通過引用mycolor來獲取該顏色值,如textView定義中:
android:textColor= "@drawable/mycolor"
java代碼中可以使用ResourceManager類中的getColor來獲取該顏色: int color = getResources().getColor(R.color.mycolor);
這與第二種方法得到的值是一樣的,getResources()方法返回當前活動Activity的ResourceManager類實例。
說明:XML定義方法接受6位和8位兩種表示法,而且開頭必須是#,8位定義時前兩位表示透明。 4、直接定義色值,如: int color = 0xff00ff00;
這種方法必須使用0x開頭,而不是用我們常用的#。與方法3不一樣,值也必須用8位表示 ,不接受6位的顏色表示。分組一下0x|ff|ff00ff,0x是代表顏色整數的標記,ff是表示透明度,ff00ff表示RGB顏色值。
=======================
補充一點Android布局中背景圖片的設置(編輯LinearLayout):
* 可以使用純色:android:background="@drawable/mycolor" (XML資源文件中定義的顏色)
* 也可使用圖片:android:background="@drawable/bg" (需要將一個名為bg.jpg或png的圖片拷貝到res/drawable-hdpi目錄下)。

② 引用Android的資源文件,為什麼在引用顏色資源時是:activity.getResource.getColor(),而引用字元串

activity繼承自context,getString在context中有實現,其結果也是會掉到Resource中去,但是context類中沒有實現getColor,所以得到Resource中去調,詳細的介面去看看context和Resource兩個累就明白了,主要Context的大部分介面都是在ContextImpl中實現的。

③ 在安卓(android)應用層上,不同的app如何共享主題(theme)、樣式(styles)、顏色(color)等資源。

建議下載R.E管理器查看源代碼(需要root許可權),

④ android第三方庫修改顏色

1、首先直接在布局文件中設置:android:backgound="#FFFFFFFF",android:textcolor="#00000000"。
2、其次把顏色提取出來形成資源,放在資源文件下面(values/drawable/color.xml):#FFFFFFFF#FF000000
3、最後在布局文件中用android:backgound="@drawable/white"android:textcolor="@drawable/black"或者在java文件中通過setBackgroundColor(int color), setBackgroundResource(int resid),setTextColor(int color)即可。

⑤ android設置linearlayout布局的背景顏色,怎麼動態改變背景顏色

1、開始打開Android IDE,這里以常用的Android Studio軟體的3.2版本為例,然後可以新建一個工程項目,也可以使用當前已經存在的工程,點擊後等待整個項目載入完畢再進行後續的操作。

⑥ Android中TextView中的文字顏色設置setTextColor的用法

原文鏈接http://blog.csdn.net/u012532559/article/details/44925285

Android 中設置TextView的顏色有方法setTextColor,這個方法被重載了,可以傳入兩種參數。一種方法是傳入int color值,要注意這個int不是R文件中自動分配的十六進制int值,這是Color類中的靜態方法構造出來的顏色int值。另一種方法是通過ColorStateList得到xml中的配置的顏色的。好多需要xml中配置的都要類似這樣的映射xml文件(比如一個按鈕事件的選擇器,默認狀態為顏色A,點擊時狀態為顏色B等等選擇效果)。

setTextColor的兩種重載方法如下:

[java] view plain

publicvoidsetTextColor(intcolor) {

mTextColor = ColorStateList.valueOf(color);

updateTextColors();

}

publicvoidsetTextColor(ColorStateList colors) {

if(colors ==null) {

thrownewNullPointerException();

}

mTextColor = colors;

updateTextColors();

}

第一種重載方法有以下實現方式:

方法一:通過ARGB值的方式

textview.setTextColor(Color.rgb(255,255, 255));

textview.setTextColor(Color.parseColor("#FFFFFF"));

方法二:通過資源引用

textview.setTextColor(mContext.getResources().getColor(R.drawable.contact_btn_text_red))

#f2497c

第二種重載方法的實現:

[java] view plain

textview.setTextColor(mContext.getResources().getColorStateList(R.drawable.big_btn_text_color));

選擇器big_btn_text_color.xml

[html] view plain

⑦ 關於Android顏色資源

R.color.red 這個是red的ID,不是你要的color,
Resources r = this.getResources();
r.getColor(R.color.red ) 這個才是顏色

⑧ Android 12 取色引擎相關問題

其實WallpaperManager從很早之前就提供了getWallpaperColors介面

==Tip: LocalWallpaperColorConsumer是hide介面,非源碼編譯的Apk無法引用==

取出的數據都封裝在WallpaperColors中,可通過以下介面獲取到原始數據

框架中只是負責提取出原始顏色 ,但有些時候直接使用原始顏色,並不能達到最好的效果。

例如:PixelLauncher的插件實現顏色動態變化,除了從Wallpaper中拿到顏色,還進行了二次加工,使其更符合Material Desgin的風格,這也是符合「Monet」主題系統 中的一部分,目前是沒有開源的。所以一方或三方若想使用該特性,可以按需進行選擇和二次加工。

很可惜,Google並沒有為動態壁紙提供默認的取色邏輯。

壁紙的取色,最終會調用到WallpaperService的onComputeColors中,但該方法是空實現,框架只是提供了最基本的獲取介面而已。

所以在Android 12之前,無論是靜態壁紙或是動態 壁紙,若想要其他模塊能獲取到壁紙顏色的話,需要壁紙提供方,在實現WallpaperService的Engine時,也一並實現onCompleteColors方法,然後在顏色變化時調用notifyColorsChanged。

如圖:

壁紙其實是通過Palette介面進行顏色提取的,基本上都能取到至少一種顏色。當真的取出失敗或取出的顏色如果不符合期望,需要採用另外一套默認顏色,這是由各個各個業務去處理的,比如Launcher中的LauncherAppWidgetHostView,重寫了setColorResources方法

具體流程見下圖:

PixelLauncher是通過LocalWallpaperColorsExtractor的實現類進行顏色提取,該類繼承於LocalColorExtractor,該類存在於Launcher3中,是空實現。可以看出,Google專門將Monet演算法部分折分隱藏,只公開框架部分。

而LocalWallpaperColorsExtractor是通過調用WallpaperManager.addOnColorsChangedListener介面,獲取onColorsChanged(RectF rectF, WallpaperColors wallpaperColors)中的返回信息,然後再對WallpaperColors中的顏色信息進行二次加工處理。

可以,Android 12已經在secure表中預定義了theme_customization_overlay_packages欄位,在其中配置了是否要根據主屏幕變色還是預置顏色,然後進行資源Overlay的。

我們可以直接使用或借鑒這套邏輯,預置幾套色值,並設置為使用基本顏色。

⑨ Android Studio如果希望在XML布局文件中調用顏色資源,可以使用( )調用

在xml中調用顏色可以直接使用@color/color_name直接調用

有心的話你應該也能看到或者可以想到,顏色是這么調用,同樣String也是這么調用

閱讀全文

與android顏色資源相關的資料

熱點內容
cad安裝卡在解壓 瀏覽:615
編程精靈g540 瀏覽:256
手機文檔解壓之後解壓包去哪兒了 瀏覽:923
java中網路編程重要嗎 瀏覽:683
如何登錄別人的伺服器 瀏覽:626
調度系統軟體python 瀏覽:205
微信大轉盤抽獎源碼 瀏覽:497
壓縮機損壞的表現 瀏覽:862
同步數據伺服器怎麼用 瀏覽:634
163郵箱伺服器的ip地址 瀏覽:50
伺服器跟域是什麼 瀏覽:128
rails啟動命令 瀏覽:465
logistic命令怎麼用 瀏覽:738
c語言點滴pdf 瀏覽:747
linuxrtc編程 瀏覽:258
linux打包並壓縮命令 瀏覽:644
aes加密的證書格式 瀏覽:99
oracledbcalinux 瀏覽:844
酬勤任務app怎麼被特邀 瀏覽:199
android應用文件夾 瀏覽:1002