自定义复合控件并进行封装

本文介绍如何创建一个自定义的Android复合控件——标题栏,包括设置自定义属性和接口。通过在attrs.xml中定义属性,如颜色、尺寸等,然后在TopBar类中继承RelativeLayout,并在布局文件中引用自定义属性。最后,通过测试活动验证控件的正确使用。
摘要由CSDN通过智能技术生成

首先这个控件的布局很简单(中间为标题文字,左右各有一个按钮)




但是这个类似的布局很常用,所以就想把它封装起来,通过这个封装来学习以下三点

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 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值