今天我們的教程是根據前面一節擴展進行的,如果你沒有看,請點擊 Android高手進階教程(三) 查看第三課,這樣跟容易方便你的理解!
在 xml 文件里定義控件的屬性,我們已經習慣了 android:attrs="" ,那么我們能不能定義自己的屬性能,比如: test:attrs="" 呢?答案是肯定的.
好了我就不賣關子了,直接進入主題。大致以下步驟:
一、 在 res/values 文件下定義一個 attrs.xml 文件.代碼如下:
二、 我們在 MyView.java 代碼修改如下,其中下面的構造方法是重點,我們獲取定義的屬性我們 R.sytleable.MyView_textColor, 獲取方法中后面通常設定默認值( float textSize = a.getDimension(R.styleable.MyView_textSize, 36 ); ) , 防止我們在 xml 文件中沒有定義.從而使用默認值!
獲取, MyView 就是定義在 <declare-styleable name=" MyView "></declare-styleable> 里的 名字,獲取里面屬性用 名字_ 屬性 連接起來就可以. TypedArray 通常最后調用 .recycle() 方法,為了保持以后使用該屬性一致性!
MyView.java 全部代碼如下:
三、將我們自定義的 MyView 加入布局 main.xml 文件中,平且使用自定義屬性,自定義屬性必須加上:
xmlns: test ="http://schemas.android.com/apk/res/ com.android.tutor " 藍色 是自定義屬性的前綴, 紅色 是我們包名.
main.xml 全部代碼如下:
四、運行之效果如下圖:
今天就到此結束,大家有什么疑問的,請留言,我會及時答復大家!謝謝~
Android高手進階教程(四)之----Android 中自定義屬性(attr.xml,TypedArray)的使用!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
