自定义控件属性

 

1.在attr.xml中先定义好属性

<?xml version="1.0" encoding="utf-8"?>

<resources>

     <declare-styleable name="MyVIew">

        <attr name="src" format="integer" />

         <attr name="delta" format="integer" />        

    </declare-styleable>

</resources>

 

2.在main.xml中如何使用该定义好的属性

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:wen="http://schemas.android.com/apk/res/com.javaeye.googlers"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

<com.javaeye.googlers.MyVIew 

    android:layout_width="fill_parent" 

    android:layout_height="wrap_content" 

    wen:src="@raw/icon"

    wen:delta="6"

    />

</LinearLayout>

 

3.代码中的属性使用

    TypedArray ta = context.obtainStyledAttributes(attrs,

                R.styleable.MyVIew);

        int n = ta.getIndexCount();

 

        for(int i =0;i < n;i++){//循环得到自定义属性

         int attr = ta.getIndex(i);        

         switch(attr){

         case R.styleable.MyVIew_src:

         int id = ta.getResourceId(

         R.styleable.MyVIew_src, 0);

         //得到自定义属性的ID后如何使用……


         case R.styleable.MyVIew_delta:

         int idelta = ta.getInteger(R.styleable.MyVIew_delta, 1);

         //得到自定义属性的ID后如何使用……

         default:

         break;

         }

            ta.recycle();//回收,为以后再使用

你可能感兴趣的:(android,xml)