首先这个控件的布局很简单(中间为标题文字,左右各有一个按钮)
但是这个类似的布局很常用,所以就想把它封装起来,通过这个封装来学习以下三点
1.创建了一个常用的复合控件,标题栏
2.为该控件添加自定义的属性值
3.为该控件添加自定义的接口
首先我们要先想好该控件的自定义属性
在res/values下创建 attrs.xml文件 写入以下代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="TopBar">
<attr name="titleText" format="string"/>
<attr name="titleTextSize" format="dimension"/>
<attr name="titleTextColor" format="color"/>
<attr name="leftTextColor" format="color"/>
<attr name="leftBackground" format="reference|color"/>
<attr name="leftText" format="string"/>
<attr name="rightTextColor" format="color"/>
<attr name="rightBackground" format="reference|color"/>
<attr name="rightText" format="string"/>
</declare-styleable>
</resources>
我们在<declare-styleable name="自定义控件名">中声明是哪个控件的自定义属性,这里我命名为TopBar
<attr name="属性名" format="属性格式">
format可以有以下属性
1.reference: 某一资源的id
2.color : 颜色值
3.boolean: 布尔值
4.dimension: 尺寸值
5.float: 浮点值
6.integer:整形值
7.sting: 字符串
8.fraction: 百分数
9.enum:枚举值
10.flag:位或运算
至于我定义的属性用途,从名字就可以直接的看出来,不再赘述
然后就是关键的TopBar这个类的代码了,我们用TopBar继承RelativeLayout
package com.example.topbar;
import android.content.Context;
import