android组合控件 重叠,Android自定义组合控件的过程

本文详细介绍了如何在Android中自定义组合控件,包括继承布局、实现构造方法、初始化视图、定义操作API、自定义属性以及在布局文件中使用这些属性。通过实例展示了如何设置和获取自定义控件的属性值,为Android开发人员提供了全面的自定义控件开发流程。
摘要由CSDN通过智能技术生成

自定义组合控件的过程:

(1)自定义一个View,并且继承一种布局,一般来说是相对或者线性布局

(2)实现父类的(3个)构造方法,通常需要在每个构造方法中调用自定义的初始化布局方法(比如那个initView方法,这个方法需要将我们组合控件的那个布局文件转换成一个View,并且加载到自定义的View; 然后将要操作到的控件实例化)

private void iniView(Context context) {

//将制定的布局文件转换成一个View,并且加载到SettingItemView

View.inflate(context, R.layout.setting_item_view,this);

cb_states = (CheckBox) findViewById(R.id.cb_states);

tv_title = (TextView) findViewById(R.id.tv_title);

tv_desc = (TextView) findViewById(R.id.tv_desc);

}

(3)根据需要定义一些操作控件的API方法,比如之前的那个public void setChecked(boolean checked)等

(4)根据需要,自定义控件的属性,可以参照TextView属性

(5)首先,参照xmlns:android="http://schemas.android.com/apk/res/android"

自定义一个命名空间

xmlns:XXX="http://schemas.android.com/apk/res/包名"

例如:

xmlns:sxkeji="http://schemas.android.com/apk/res/com.example.mobilesafe"

(6)在res/values/attrs.xml中创建我们的属性:

(7)在布局文件中使用自定义属性:

sxkeji:title="设置自动更新"

sxkeji:desc_on="自动升级已经开启"

sxkeji:desc_off="自动升级已经关闭"

android:id="@+id/siv_update"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

/>

(8)在我们自定义控件的View的、带有2个参数的构造函数中,利用attrs.getAttributeValue()方法取出属性值,关联布局文件中对应的控件

例如:

String title =  attrs.getAttributeValue("http://schemas.android.com/apk/res/com.example.mobilesafe", "title");

tv_title.setText(title);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值