Android自定义控件的步骤
作者:pigdreams 时间:2023-03-24 00:14:03
学习初衷:在工作实际开发过程中,原有的安卓控件已不能满足实际的功能需求,而且有些应用还需要一些独特的展示效果,这时就需要自定义控件来定制控件去满足我们的需求了。
自定义控件的步骤
步骤一:首先要新建一个类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;
}
最后得到的是一个红色背景的图
来源:https://blog.csdn.net/pigdreams/article/details/52438568
标签:android,自定义,控件
0
投稿
猜你喜欢
java和Spring中观察者模式的应用详解
2023-04-21 00:16:17
MyBatis一对多嵌套查询的完整实例
2023-07-12 02:49:56
Java重写equals及hashcode方法流程解析
2023-10-14 06:53:13
C#中的DateTime是值类型还是引用类型
2023-08-07 17:54:17
Java后端Tomcat实现WebSocket实例教程
2023-08-22 17:31:09
java数据库唯一id生成工具类
2023-04-04 22:53:34
详解基于MVC的数据查询模块进行模糊查询
2022-02-13 19:26:49
Java通过Scanner了解if...else if语句
2023-11-29 04:28:44
C#使用IComparer自定义List类实现排序的方法
2021-06-28 04:28:09
从 JVM 中深入探究 Synchronized作用及原理
2023-07-28 17:22:33
Java实现复制文件并命名的超简洁写法
2022-02-12 12:54:06
详解Spring Boot中使用AOP统一处理Web请求日志
2021-08-24 15:50:17
Spring中XML schema扩展机制的深入讲解
2022-06-29 07:44:15
Flutter 快速实现聊天会话列表效果示例详解
2022-10-21 09:18:31
从零开始Java实现Parser Combinator
2023-06-18 18:52:04
Java中的5种同步辅助类介绍
2023-11-14 21:36:28
Android中应用多进程的整理总结
2022-05-05 04:25:21
C#实现计算一个点围绕另一个点旋转指定弧度后坐标值的方法
2023-07-15 21:35:09
java线程池合理设置最大线程数和核心线程数方式
2021-06-19 22:02:31
C#9新特性之增强的模式匹配
2023-04-16 07:35:34