亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解決Android自定義view獲取attr中自定義顏色的問題

 更新時間:2020年12月08日 14:40:36   作者:計蒙不吃魚  
這篇文章主要介紹了Android自定義view獲取attr中自定義顏色的問題解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

好久不見,最近有點忙,好久沒有發(fā)文章了,前天有個小學弟在寫項目的過程中遇到了這個問題,由此寫一篇文章。

項目場景:

Android自定義View在布局中設置顏色

問題描述: 以下為學弟的代碼

//attrs文件
 <attr name="leftcolor" format="color"/>
 <attr name="rightcolor" format="color"/>
//Java文件代碼,獲取顏色
 int leftcolor=attrs.getAttributeIntValue("http://schemas.android.com/apk/res-auto","leftcolor",Color.BLACK);
 int rightcolor=attrs.getAttributeIntValue("http://schemas.android.com/apk/res-auto","rightcolor",Color.WHITE);
//布局中
 app:leftcolor="@color/colorPrimary"
 app:rightcolor="#ff0000"

問題:rightcolor能夠獲取到顏色,而left不能獲取到。(寫#ff0000都能獲取到)

分析:

在寫了個Demo后,確實有類似問題,自己試了幾種辦法沒有解決,于是看了以下Android源碼控件,得出解決方案如下

解決方案:

//attrs文件
 <attr name="leftcolor" format="reference|color"/>
 <attr name="rightcolor" format="reference|color"/>
//java文件 ---TaiJiView為自定義view名稱
 //獲取自定義屬性。
 TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.TaiJiView);
 //獲取顏色
 int leftcolor = ta.getColor(R.styleable.TaiJiView_leftcolor, Color.BLACK);
 int rightcolor=ta.getColor(R.styleable.TaiJiView_rightcolor, Color.WHITE);
 //回收
 ta.recycle();
//布局中
 app:leftcolor="@color/colorPrimary"
 app:rightcolor="#ff0000"

如果搜到這篇文章,希望能夠解決您的問題。

到此這篇關于Android自定義view獲取attr中自定義顏色的問題的文章就介紹到這了,更多相關Android自定義view內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論