国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:2日期:2022-09-21 14:41:57

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

項目場景:

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內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
主站蜘蛛池模板: 井冈山市| 宁波市| 红原县| 若尔盖县| 神农架林区| 临高县| 中方县| 大田县| 新宾| 肃南| 眉山市| 孝义市| 阿拉尔市| 宝兴县| 肃南| 德江县| 嘉黎县| 池州市| 商城县| 新田县| 光泽县| 同心县| 巴楚县| 云龙县| 衡南县| 浦东新区| 龙海市| 邯郸县| 泰和县| 威信县| 高邮市| 南乐县| 延寿县| 衡山县| 鄂伦春自治旗| 新绛县| 拜城县| 肥乡县| 永登县| 林芝县| 左云县|