Android中自定义View的自定义属性

自定义属性
自定义属性 1

  1. 命名空间 2
    1.1. 什么是命名空间 2
    1.2. android命名空间 2
    1.3. 自定义命名空间 2
  2. 配置文件(attrs.xml) 3
    2.1. Android的配置文件 3
    2.2. 自定义配置文件 4
  3. 获取属性 4
    3.1. 1.设置好命名空间 4
    3.2. 2.设置自定义命名空间自定义属性值 4
    3.3. 3.通过重写View中的Context和AttributeSet参数的构造函数 4
    3.4. 4.通过AttributeSet该参数获取对应的属性值 4

在这里插入图片描述

  1. 命名空间
    在这里插入图片描述
    1.1. 什么是命名空间
    在这里插入图片描述
    XML命名空间提供避免元素冲突的方法
    1.2. android命名空间

xmlns:android=”http://schemas.android.com/apk/res/android

xmlns:前缀
android:名称,可以自定义
url:代表的就是空间,是个没有用的url,是统一资源标识符,相对于一个常量
1.3. 自定义命名空间

xmlns:空间名称="http://schemas.android.com/apk/res-auto

操作演示:
在这里插入图片描述

  1. 配置文件(attrs.xml)

2.1. Android的配置文件
在这里插入图片描述
配置文件如下:
在这里插入图片描述
declare-styleable
name:属性集合名称
attr
name:属性名称
format:格式

		共11种格式
			1.reference(资源id)
				<ImageView android:background = "@drawable/图片ID"/>
			2.color
				<TextView android:textColor = "#00FF00" />
			3.boolean
			4.dimension(尺寸)(dp)
			5.float(浮点值)
			6.integer(整形值)
			7.string(字符串)
			8.fraction(百分比)
			9.enum(枚举值)
				<declare-styleable name="名称">
					<attr name="orientation">
						<enum name="horizontal" value="0" />
						<enum name="vertical" value="1" />
					</attr>
				</declare-styleable>
			10.flag(位或运算)
				注意:位运算类型的属性在使用的过程中可以使用多个值
			11.混合属性(使用|分开多个属性)

2.2. 自定义配置文件
在这里插入图片描述
以TextView为例
3. 获取属性

3.1. 1.设置好命名空间
3.2. 2.设置自定义命名空间自定义属性值
3.3. 3.通过重写View中的Context和AttributeSet参数的构造函数
3.4. 4.通过AttributeSet该参数获取对应的属性值

方法一:
在这里插入图片描述
通过方法获取值

方法二:
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attrs, R.styleable.DrawLine);
index = obtainStyledAttributes.getInteger(R.styleable.DrawLine_line_type, 0);
这边的R.styleable.DrawLine_line_type就是我们自定义的内容

更多详细参考:https://www.jianshu.com/p/05ccc62bebbf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值