自定义属性

1.创建自定义属性

在app –> src –> res –> values 下创建 attrs.xml 文件
如下图所示 ↓

这里写图片描述

创建好后我们可以在其中看到如下代码

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

现在我们就在里面添加属性 代码如下 ↓

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!---->
    <declare-styleable name="text">
        <attr name="teet" format="string"/>
        <attr name="textAttr" format="integer"/>
        <attr name="android:text"/>
    </declare-styleable>
</resources>

下面我们介绍一下刚才所写的属性

  1. 声明一个属性,我们要知道它的名字是什么,这里就是属性的名字,就想我们写的AppTheme一样,给它取个名字.
<declare-styleable name="text">
  1. 声明名字后,我们需要在其中写一些关于属性的内容了.name声明的是数属性的名字,format声明的是自定义属性的内容.
    • 我们将名为textA自定义属性为”string”
    • 我们将名为textB自定义属性为”integer”
        <attr name="textA" format="string"/>
        <attr name="textB" format="integer"/>

2.使用自定义属性

  1. 添加命名空间
xmlns:zyw="http://schemas.android.com/apk/com.jbh.custom_attrs.text"

这里写图片描述
- 添加包名是res/”你的包名”/”你自定义属性的名字我这里的名字是text(declare-styleable name=”text”)”
* 关于Android的命名空间

//1.Android命名空间
xmlns:android="http://schemas.android.com/apk/res/android"

//2.Android命名空间的使用
    android:layout_width="match_parent"
    android:layout_height="match_parent"
  • xmlns:android=”“,中android是命名控件的名字,我们自己定义的命名空间的名字为zyw(命名控件的名字可以随意定义,);当我们把名为android的命名控件删掉后,你所使用的控件属性会报红,因为我们用的大多数的属性都是android下的属性.
  • 在控件中使用的时候就是“命名空间的名字 + : + 属性名称 + = + 属性值
    代码如下↓
<com.jbh.custom_attrs.MyTextView
        android:layout_width="100dp"
        android:layout_height="100dp"
        zyw:textA="helloworld"
        zyw:textB="520"
        />

这里是自定义控件中使用的自定义属性.

结语:本文如果有错请留言!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值