自定义View解析之自定义View实战(四)

前面我们对自定义View的理论有所认识,接下来,我们通过几个自定义View的例子来加深对自定义View的理解。

1、定义带有删除按钮的EditText

需求分析:如下图

 

其实就是在EditText右边加入一个小图标,当点击小图标就可以清楚输入框里面的内容,因为android系统中不存在这样的控件,因此,我们需自定义一个控件实现上面的功能。

在自定义控件时主要有如下功能:

1)添加图片显示和隐藏功能

2)当输入框文本内容变化或焦点变化时都要判断还是否显示右边的图标

3)点击右边的图标,清除输入框中的文本

因为我们不能直接给EditText设置点击事件,所以我们用onTouchEvent()来模拟点击事件,当点下的位置大于EditText左边到图片左边的距离小于EditText左边到图片右边的距离,就认为图片被点击了。

实现:请参考源码,下载地址:

2、自定义滑动开关

我们知道Android4.0以上才带有滑动开关Switch,那再4.0一下的系统就用不了,所以这里定义一个滑动开关以兼容低版本的系统。

需求分析,如下图:


自定义控件时主要有工作:

1)实现Viewdraw()方法,绘制开关的背景和开关按钮

2)设置自定义ViewTouch事件,实现滑动功能

实现:请参考源码,下载地址:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值