自定义圆形,可根据鼠标移动,按下移动抬起事件
来源:互联网 发布:1-10阶乘分之一编程 编辑:程序博客网 时间:2024/04/27 13:03
activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <com.example.lianxiday03_02customcircle.view.CustomCircleView android:layout_width="match_parent" android:layout_height="match_parent" /></LinearLayout>
自定义的CustomCircleView 继承Viewpublic class CustomCircleView extends View{ //初始化paint画笔 private Paint mpaint; //初始化的 private int cx = 300;//圆的中心x轴 private int cy = 300;//圆的原点y轴 public CustomCircleView(Context context) { super(context); } public CustomCircleView(Context context, AttributeSet attrs) { super(context, attrs); mpaint = new Paint(); mpaint.setColor(Color.GREEN); mpaint.setStyle(Paint.Style.STROKE);//空心的 mpaint.setAntiAlias(true);//抗锯齿,,没有毛边儿 mpaint.setStrokeWidth(10);//边框宽度 } public CustomCircleView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); } @Override public boolean onTouchEvent(MotionEvent event) { //分析事件的类型 switch (event.getAction()){ //鼠标按下: case MotionEvent.ACTION_DOWN: System.out.println("event ACTION_DOWN = "+event.getRawX() + " " + event.getRawY()); break; case MotionEvent.ACTION_MOVE: System.out.println("event ACTION_MOVE ="+event.getRawX() + " " + event.getRawY()); cx = (int) event.getX();//getX(),是距离当前视图x轴的位置 cy = (int) event.getY();//getY()是距离当前视图的y轴 //刷新 invalidate(); // postInvalidate();//子线程刷新 break; case MotionEvent.ACTION_UP: System.out.println("event ACTION_UP = " + event.getRawX() + " " + event.getRawY()); break; } return true;//必须返回true } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //获取当前视图的宽度 // int width = getWidth()/2; //第一个参数是 cx:x轴中心 cy: 第二个参数是y轴中心 第三个参数是半径 第四个是画笔 canvas.drawCircle(cx,cy,200,mpaint); }}
阅读全文
0 0
- 自定义圆形,可根据鼠标移动,按下移动抬起事件
- 自定义圆形,可根据鼠标移动,按下移动抬起事件
- android自定义视图 按下移动抬起画出直线
- 鼠标按下和鼠标抬起事件
- CxSkinButton增加鼠标按下抬起事件
- 自定义可圆形移动的view
- 【Unity3D UGUI】事件接口(三) 按下移动、释放
- 自定义圆形里面内嵌文字,文字可根据圆形大小自适应
- Unity UGUI Button 按下,抬起,连续按下,鼠标退出事件响应函数
- Unity UGUI Button 按下,抬起,连续按下,鼠标退出事件响应函数
- 【Unity3D UGUI】事件接口(二) 鼠标按下、抬起、点击
- 可动自定义QPushButton
- win7下移动鼠标跑到屏外面去了
- javascript js 可上、下移动下拉列表选项
- 重写datagridview的回车焦点下移动为右移动
- 自定义wxStaticBitmap的鼠标移动事件(或消息)
- NGUI 按钮 按下 抬起 事件
- 控件的抬起和按下事件
- java基本的算术运算
- linux中at/cron命令
- Python学习笔记——函数
- HTTPS加密协议详解
- MySQL操作数据表的记录
- 自定义圆形,可根据鼠标移动,按下移动抬起事件
- ACM模板整理(精心准备,持续更新中)
- Effective Java
- Python3之Django Web框架分页多页码处理二
- AsyncTaskDemo
- Java笔记二——认识对象
- 数据库的四种语言
- 数据结构实验之二叉树四:(先序中序)还原二叉树
- JAVA作业