认识View-01
来源:互联网 发布:free mobile java在线 编辑:程序博客网 时间:2024/06/06 00:53
认识View-01
public class CustomView extends View { private Paint paint; public CustomView(Context context) { super(context); } /** * 在XML中使用需要实现两个参数的构造方法 * @param context 上下文 * @param attrs 自定义属性 */ public CustomView(Context context, AttributeSet attrs) { super(context, attrs); /** * 创建一支画笔 */ paint = new Paint(); // 开启抗锯齿 paint.setAntiAlias(true); // 设置画笔颜色 paint.setColor(Color.parseColor("#ff0000")); /** * [1] 填充--> 默认 * paint.setStyle(Paint.Style.FILL); * [2] 描边 * paint.setStyle(Paint.Style.STROKE); * [3] 填充并描边 * paint.setStyle(Paint.Style.FILL_AND_STROKE); */ paint.setStyle(Paint.Style.FILL); /** * 设置描边宽度 * paint.setStrokeWidth(10); */ } /** * 此方法用于绘制view * @param canvas 画布 */ @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Log.e("onDraw","被触发"); /** * 在View的中央绘制一个100像素的圆 * @param cx 原点X轴坐标 * @param cy 原点Y轴坐标 * @param radius 圆的半径 * @param paint 用于绘制的画笔 */ canvas.drawCircle(getWidth()/2,getHeight()/2,100,paint); } int count = 0; /** * 此方法用于处理View的触摸事件 * @param event * @return */ @Override public boolean onTouchEvent(MotionEvent event) { // 获取用户的输入 switch (event.getAction()){ case MotionEvent.ACTION_DOWN: // TODO 按下 Log.e("按下","次数="+(count++)); int i1 = new Random().nextInt(9); int i2 = new Random().nextInt(9); int i3 = new Random().nextInt(9); int i4 = new Random().nextInt(9); int i5 = new Random().nextInt(9); int i6 = new Random().nextInt(9); // 改变画笔的颜色 paint.setColor(Color.parseColor("#"+i1+i2+i3+i4+i5+i6)); /** * 刷新画布 */ invalidate(); /** * 在非UI线程刷新则调用 * postInvalidate(); */ break; } return super.onTouchEvent(event); }}
每次按下变换不同颜色
0 0
- 认识View-01
- view-port初步认识
- 认识View Controller
- 重新认识view
- 自定义view系列01--Android 屏幕的常见认识
- View 编程(0): 认识 LayoutInflater
- View 编程(0): 认识 LayoutInflater
- 重新认识View(一)
- 重新认识View(二)
- 重新认识View(三)
- 认识VMware View的五大误区
- 关于view重绘的一些认识
- android 自定义View(一、基础认识)
- [Android]我对View的认识
- 对View的一些理解和认识
- android自定义view系列:认识activity结构
- View的工作流程-对MeasureSpec认识
- MVC学习笔记4 认识View和Controller
- ELKStack日志分析系统单机安装
- CentOS 7 目录结构
- salesforce 零基础学习(六十四)页面初始化时实现DML操作
- Friends----暴力枚举
- 关于C#中导出数据几种换行符
- 认识View-01
- 424. Longest Repeating Character Replacement
- 医疗行业应用交付解决方案【ANS SOLUTIONS】
- 在linux上搭建git服务器
- iOS-文件路径 temp document library 等
- jvm调试笔录
- 设计模式之观察者模式
- linux安装telnet服务端客户端
- git 常用命令