这是一篇博文用来记录自己写的一个倒计时view,以便学习android;希望和大家共同学习进步,如有任何意见,建议或者讨论,可在评论中指出或者联系我Email:pokerwu.work@gmail.com
关于自定义view
这个不需要我多讲了,相信大家页看了很多这些,我采用的是继承View来创建,因为现有的组件都太复杂,考虑到自己对这些还不是很熟悉,现有的组件的代码看起来很恼火的。所以自己就参考了一些博客自己定义一个view来实现倒计时。具体可参考官方文档creating custom views,或者其他博客博主关于自定View的介绍。
开始
创建一个
CountDownView extends View
public class CountDownView extends View { public CountDownView(Context context) { this(context,null); } public CountDownView(Context context, AttributeSet attrs) { super(context, attrs); } }
关于构造函数
我们注意到自定view时需要创建构造函数,view在SDKVersion21之后为4个构造函数,官方的指导当中建议我们采用第二个。
*public CountDownView(Context context)
构造函数是用于代码中new
一个实例对象;
*public CountDownView(Context context, AttributeSet attrs)
构造函数用于android从layout文件中inflate一个View对象,AttributeSet
中就包含了我们在xml文件中所指定的属性;
*public CountDownView(Context context, AttributeSet attrs, int defStyleAttr)
和public CountDownView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
两个构造函数,其实差不多是一样的,就是一些属性是通过主题或者是style中获得。
一般来说我们是不考虑后两个构造函数的。可参考其他人写的关于这个四个构造函数的讲解深入理解Android View的构造函数
定义自定义属性
在自定义view过程中我们我定义一些属性来帮我们实现view的特定样式。
在res/values
下新建一个xml文件,定义我们需要的属性
<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable