学习笔记之自定义控件

学习初衷:在工作实际开发过程中,原有的安卓控件已不能满足实际的功能需求,而且有些应用还需要一些独特的展示效果,这时就需要自定义控件来定制控件去满足我们的需求了。

自定义控件的步骤

  • 步骤一:首先要新建一个类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;
}

最后得到的是一个红色背景的图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值