博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android自定义控件及自定义属性
阅读量:6591 次
发布时间:2019-06-24

本文共 1751 字,大约阅读时间需要 5 分钟。

Android自定义控件及自定义属性

自定义控件

创建自定义控件

自定义一个类,继承View

继承View还是哪个类,取决于你要实现一个什么样的控件

如果你要实现的是一个线性布局的组合控件,就可以继承LinearLayout

如果你要实现的是一个布局复杂的组合控件,就可以继承RelativeLayout

具体根据实际情况

这里我要实现一个Android端的显示验证码的控件,我只继承View

package ……;import ……/** * Created by kongqw on 2015/10/23. */public class CheckView extends View {
…… public CheckView(Context context, AttributeSet attrs) { super(context, attrs); mContext = context; …… } public void onDraw(Canvas canvas) { // 画界面 …… } ……}

类似的,如果你是继承了RelativeLayout,大概可以这样实现

package ……;import ……/** * Created by kongqw on 2015/7/10. */public class KTop extends RelativeLayout {
private …… …… public KTop(Context context) { super(context); initView(); } public KTop(Context context, AttributeSet attrs) { super(context, attrs); initView(); } public KTop(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initView(); } /** * 初始化界面 */ private void initView() { view = View.inflate(getContext(), R.layout.k_top, this); // 控件背景 mTitleView = (RelativeLayout) view.findViewById(R.id.title_view); // 只举一个例子,这里可以获取的布局里的控件 …… } // 做一些其他操作的处理,例如控件的点击事件处理等 ……}

使用自定义控件

在布局文件中的使用

自定义属性

定义自定义属性

在values文件夹下创建attrs.xml文件

name是自定义属性的名称
format是自定义属性的类型,有如下类型,就不一一介绍了

P1

代码

使用自定义属性

在使用自定义控件的xml文件里引入命名空间

xmlns:kongqw="http://schemas.android.com/apk/res-auto"

自定义属性的使用

kongqw:point_num="5"

示例

……
……

效果图

P2

你可能感兴趣的文章
Spring Framework 4.2 中的新功能和增强功能
查看>>
动态代理解决网站字符集编码
查看>>
我所想的GIX4的权限
查看>>
Hbuilder--让手爽,飞一般的编码(二)
查看>>
后台统计
查看>>
React组件: 提取图片颜色
查看>>
3D应用开发中的欧拉角和旋转矩阵
查看>>
爬虫必备技能xpath的用法和实战
查看>>
MacOS下安装Grafana、InfluxData、telegraf
查看>>
RxJava2.0的初学者必备教程(九)
查看>>
记一次omi的项目之旅
查看>>
Android API级别、代号、发布时间及平台亮点整理
查看>>
安装配置nagios
查看>>
QQ第三方授权登录(带详细源码)
查看>>
LLDP(链路层发现协议)
查看>>
Ubuntu14 添加程序启动
查看>>
我的友情链接
查看>>
windows网络安全以及常见网络***方式
查看>>
警告 初始化默认驱动器时出错“找不到运行 Active Directory Web 服务的默认服务器。”...
查看>>
JS字符串转换数字
查看>>