不多说先看图
写在前头
最近在看到的一个按钮动画,觉得以后在项目中遇到的可能性挺大的,闲的无聊实现了下,代码贴在下面,还请各位大神多多指正,互相学习!
代码实现
做了比较多的注释,是自己的学习,也是提供给看的人更清楚明了。
public class ButtonView extends View {
// private OnClickListener mListener;//默认初始高度private int rect_height = 0;//灰色private Paint paint_gray;//橙色private Paint paint_yellow;//圆形的左、上、右、下private int circle_left, circle_top, circle_right, circle_bottom;//圆形半径private int circle_radius;//默认paddingprivate int DEFAULT_PADDING = 20;//上下文private Context context;//打开标志private boolean openFlag = false;//第一次标志(第一次进入时是灰色的按钮)private boolean firstFlag = true;//秒数,默认为5 单位是毫秒哦private int sleepTime = 5;//继承的构造函数public ButtonView(Context context) {this(context, null);}public ButtonView(Context context, AttributeSet attrs) {this(context, attrs, 0);}public ButtonView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);//保存上下文this.context = context;//初始化数据initData();}/*** 初始化数据*/private void initData() {//初始化灰色画笔paint_gray = new Paint();//抗锯齿<