菜鸟日记:
之前尝试去了解继承View实现自定义视图控件,学习了通过代码确实可以绘制一些:字符,几何图形。但是正真开发中我们可能做不到精确绘制图形。想想工作量就很头大。所以通过美术图片来实现控件的内容是很明智便捷的达到目的的好办法。现在我们就来看看用位图资源来实现一个开关按钮。
声明:全部内容摘自互联网
第一步:创建一个类(mSwitchButton)继承CheckBox
/**
* 自定义一个支持滑动和动画的开关按钮(源码来自互联网)
* 1.继承view及其子类
* 2.重写onXX()函数
* 3.创建一个执行:开关按钮的动画效果执行内部类
* 4.创建一个执行:框架动画控制器类(UI更新)
*
* @author xxx Zhang
*/
public class mSwitchButton extends CheckBox {
//添加构造器
//重写onMeasure()、onDraw()、onTouchEvent()
}
checkBox类是复选框按钮。那么我们做开关按钮为什么要继承他呢?
首先他是View的子类这个大家都知道,但是你应该也要知道他是android.widget.CompoundButton直接子类,而他有实现Checkable接口:复选
说这么多其实就是想让大家明白:CompoundButton抽象类的子类具有:选中状态的方法。
所以做开关按钮便捷的做法你可以继承:CheckBox, RadioButton, ToggleButton
第二步:绘制开关按钮
首先我们要明白按钮资源位图相关参数是绘制这个按钮尺寸和图形的基本资源。所以我们应该在构造器对象里面去初始化资源对象
那么我们就需要准备美工我们提供好看的图片资源。