昨晚我写的这么详细的文章....提交成功后我就回去睡觉了.....今天一大早起来不见了,TAT 随便写点自己能看懂的当笔记吧。这个控件是我学习他人的~
1、创建新的toggle类继承自view(其中含有attributeSet attrs的构造方法是和xml有关的),然后可以通过重写setBackgroundResource()或者自己的方法去设置好控件的图样,大小,空间啥的。记得要在layout布局里面导包(记得加Id),才能使用我们自己的控件。
2、重写view中的绘制方法
view中主要是onmeasure()和ondraw()在先后起作用。而viewgroup中间还有个onlayout(),在这我们继承的是view,所以先测量,再绘画。
首先要找到控件上的图片,可以在setBackgroundResource()或者自己的方法中用bitmap=bitmapfactory.decodeResource(getResources,传下来的int R值)来找到图片,设置它。
然后再重写onMeasure()方法
protected void onMeasure(int widthMeasureSpec,int heightMeasureSpec){
super.onMeasure(widthMeasureSpec,heightMeasureSpec);
}
查看view中的源码发现onmeasure是有setmeasuredemention这个方法来设置宽高的,所以就可以直接也再onmeasure下重写这个方法。然后ondraw,new个画笔,
// 1. 绘制背景 canvas.drawBitmap(图像