Android自定义View读取XML属性详解

本文详细介绍了在Android中自定义View如何读取XML属性。通过构造函数获取attrs变量,然后利用TypedArray或者AttributeSet解析。文中展示了TypedArray的使用方法,包括获取属性值并回收,以及直接通过AttributeSet遍历或指定属性获取值的操作。总结了两种方法的注意事项和适用场景。
摘要由CSDN通过智能技术生成

今天研究了一下自定义View中XML属性的解析。

首先,我们在声明自定义View时,会直接声明构造函数:

public XCustomView(Context context, AttributeSet attrs)

构造函数接受了一个context变量和一个attrs变量,我们使用attrs就可以解析XML属性了。
这里通常使用的方法是声明一个TypedArray变量,通过context.obtainStyledAttributes方法来获取attrs中的属性;实际这里直接使用attrs来解析也是可以的,但会稍麻烦一些。

自定义View的声明

假设我们的自定义View类名是XCustomView,对应的,先声明一些自定义属性:
CustomViewStyleable.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="XCustomView">
        <attr name="testAttrFirst" format="integer"/>
        <attr name="testAttrSecond" format="string"/>
    </declare-styleable>
</resources>

简单定义两个属性,其值分别为整形和字符串类型。

接下来简单写一个Activity的布局文件,在以前使用eclipse时,在指定我们自定义属性的名字时,需要在xmlns后指定包名;在Android Studio环境下,由于整个项目使用gradle构建,因此包名根据设置可以在编译时产生变化,IDE此时提示我们不要硬编码将包名设置进去,只需要使用特殊字段来标识就可以&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值