自定义控件属性

本文详细介绍了如何在Android开发中自定义XML属性。首先,在attr.xml文件中定义所需的属性,如格式为整数的'src'和'delta'。接着,在布局文件main.xml中通过命名空间调用这些属性,并为其分配具体的资源或数值。最后,在代码中通过TypedArray获取这些自定义属性的值,并根据需要进行处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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();//回收,为以后再使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值