自定义属性

来源:互联网 发布:淘宝买近视眼镜靠谱吗 编辑:程序博客网 时间:2024/06/06 01:57

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"        />

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

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

原创粉丝点击