学习初衷:在工作实际开发过程中,原有的安卓控件已不能满足实际的功能需求,而且有些应用还需要一些独特的展示效果,这时就需要自定义控件来定制控件去满足我们的需求了。
自定义控件的步骤
- 步骤一:首先要新建一个类CustomView继承自View
public class CustomView extends View{}
- 步骤二:添加构造器,用的是有AttributeSet参数的那个构造方法
public CustomView(Context context,AttributeSet attrs){
//Attribute属性,布局文件里设置的自定义属性
//attrs必须传给父类,好让父类知道具体要绘制的参数
super(context,attrs);
}
- 步骤三:画界面,重写onDraw()方法
@Override
protected void onDraw(Canvas canvas){
//画背景,新建一个画笔
Paint pain=new Paint();
paint.setTextSize(48);
paint.setColor(Color.RED);
//创建矩形,这时需要一个矩形的宽度与高度,viewWidth,viewHeight的值通过下面步骤得到
Rect rect=new Rect(0,0,viewWidth,viewHeight);
//绘制一个矩形,参数是矩形对象与画笔对象
canvas.drawRect(rect,paint);
}
- 步骤四:获得一个界面的宽度与高度
int viewHeight,viewWidth;
@Override
protected void onSizeChanged(int w,int h,int oldw,int oldh){
//当界面改变时,即切屏时当前的宽度与高度
super.onSizeChanged(w,h,oldw,oldh);
viewHeight=h;
viewWidth=w;
}
最后得到的是一个红色背景的图