本文實例為大家介紹了Android自定義視圖屬性的方法,供大家參考,具體內容如下
1. 自定義一個自己的視圖類繼承自View
public class MyView extends View{ public MyView(Context context, AttributeSet attrs) { super(context, attrs); //獲取到自定義的屬性 TypedArray ta=context.obtainStyledAttributes(attrs, R.styleable.MyView); int color=ta.getColor(R.styleable.MyView_rect_color, 0xffff0000); setBackgroundColor(color); //必須手動回收ta ta.recycle(); } public MyView(Context context) { super(context); }}2. 在res/values目錄中新建一個attrs.xml文件
<?xml version="1.0" encoding="utf-8"?><resources> //定義一個declare-styleable標簽,在里面設置attr屬性 <declare-styleable name="MyView"> <attr name="rect_color" format="color"/> </declare-styleable></resources>
一個attr屬性,對應了一個視圖屬性
3.最后看布局文件中如何利用我們創建的自定義視圖并設置其屬性
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" //自定義一個MyView的命名空間 xmlns:gu="http://schemas.android.com/apk/res/com.gu.myrect" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <com.gu.myrect.MyView android:layout_width="100dp" android:layout_height="100dp" //根據自定義的命名空間和我們在attrs中設置的屬性,自定義屬性值 gu:rect_color="#cc99cc" /></LinearLayout>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答