Android開發(fā)之在xml中設(shè)置自定義屬性的方法
更新時間:2018年01月16日 15:20:56 作者:尒洏強汏
下面小編就為大家分享一篇Android開發(fā)之在xml中設(shè)置自定義屬性的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
xml中設(shè)置自定義屬性
分三步:
1. 在項目中的values文件中創(chuàng)建attrs文件
<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="QLoadingIndicatorView"> <attr name="indicatorId" format="integer"/> <attr name="indicatorColor" format="color"/> <attr name="indicatorText" format="string"/> </declare-styleable> </resources>
<pre name="code" class="java"></pre> <h3><a name="t3"></a>2. 在view中關(guān)聯(lián)這些屬性</h3> <div><pre name="code" class="java">public class MyView extends LinearLayout { private int mIndicatorColor,mIndicatorId; private String mIndicatorText; public MyView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); //從xml的屬性中獲取到值,然后想怎么用就怎么用 TypedArray ta=context.obtainStyledAttributes(attrs,R.styleable.QLoadingIndicatorView); mIndicatorColor=ta.getColor(R.styleable.QLoadingIndicatorView_indicatorColor,Color.BLACK);//第二個參數(shù)是設(shè)置的默認(rèn)值,當(dāng)你不設(shè)置這個屬性時會使用這個值 mIndicatorId=ta.getInt(R.styleable.QLoadingIndicatorView_indicatorId,1); mIndicatorText=ta.getString(R.styleable.QLoadingIndicatorView_indicatorText,"abc"); ta.recycle(); } }</pre><br> <br> </div> <pre name="code" class="java"></pre><pre name="code" class="java"></pre> <h3><a name="t4"></a>3.xml文件中設(shè)置屬性和命名空間</h3> <div><pre name="code" class="java"><GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" //這就是自己定義的屬性的命名空間,androidstudio是這樣寫的,添加屬性的時候自動生成 android:rowCount="9" android:columnCount="4"> <com.zxq.com.myrecycleview.progressbaranimation.QLoadingIndicatorView android:layout_width="50dp" android:layout_height="50dp" android:layout_margin="10dp" app:indicatorId="0" //自己的設(shè)置的屬性 app:indicatorColor="#F00" > </com.zxq.com.myrecycleview.progressbaranimation.QLoadingIndicatorView> </GridLayout></pre><br> <br> </div> <pre name="code" class="java"> <pre></pre> <pre></pre> <pre></pre> <pre></pre> </pre>
以上這篇Android開發(fā)之在xml中設(shè)置自定義屬性的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android實現(xiàn)QQ側(cè)滑(刪除、置頂?shù)?功能
這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)QQ側(cè)滑刪除、置頂?shù)裙δ?,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12Android?Studio開發(fā)實現(xiàn)簡單計算器功能
這篇文章主要為大家詳細(xì)介紹了Android?Studio開發(fā)實現(xiàn)簡單計算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05