Android怎么通过触摸动态地在屏幕上画矩形效果
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了Android怎么通过触摸动态地在屏幕上画矩形效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android怎么通过触摸动态地在屏幕上画矩形效果文章都
千家信息网最后更新 2026年11月01日Android怎么通过触摸动态地在屏幕上画矩形效果
这篇文章主要介绍了Android怎么通过触摸动态地在屏幕上画矩形效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android怎么通过触摸动态地在屏幕上画矩形效果文章都会有所收获,下面我们一起来看看吧。
需求概述:
在屏幕上用手指画出一个区域,返回所圈的区域坐标。
技术实现:
自定义View,设置画笔及对应参数,在onTouchEvent()回调函数里,对触摸事件进行判断。画出矩形图形。
代码:
自定义View:
public class GameView extends View { // 声明Paint对象 private Paint mPaint = null; private int StrokeWidth = 5; private Rect rect = new Rect(0,0,0,0);//手动绘制矩形 public GameView(Context context){ super(context); //构建对象 mPaint = new Paint(); mPaint.setColor(Color.RED); //开启线程 // new Thread(this).start(); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //设置无锯齿 mPaint.setAntiAlias(true); canvas.drawARGB(50,255,227,0); mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeWidth(StrokeWidth); mPaint.setColor(Color.GREEN); mPaint.setAlpha(100); // 绘制绿色实心矩形 canvas.drawRect(100, 200, 400, 200 + 400, mPaint); mPaint.setColor(Color.RED); canvas.drawRect(rect,mPaint); } @Override public boolean onTouchEvent(MotionEvent event) { int x = (int)event.getX(); int y = (int)event.getY(); switch (event.getAction()){ case MotionEvent.ACTION_DOWN: rect.right+=StrokeWidth; rect.bottom+=StrokeWidth; invalidate(rect); rect.left = x; rect.top = y; rect.right =rect.left; rect.bottom = rect.top; case MotionEvent.ACTION_MOVE: Rect old = new Rect(rect.left,rect.top,rect.right+StrokeWidth,rect.bottom+StrokeWidth); rect.right = x; rect.bottom = y; old.union(x,y); invalidate(old); break; case MotionEvent.ACTION_UP: break; default: break; } return true;//处理了触摸信息,消息不再传递 }}调用时,只需要在onCreate()函数里,直接添加就可以:
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gameView = new GameView(this); addContentView(gameView);
根据需要可以在自定义类中,加入返回圈定范围的函数。
ps:需要注意的是,在手指移动的时候,屏幕需要更新矩形时,原理上删除原来矩形,画上新矩形。但是由于空心矩形边厚度的存在,
会出现遗留的情况,此时要减去border厚度,可以解决上述问题。
Rect old = new Rect(rect.left,rect.top,rect.right+StrokeWidth,rect.bottom+StrokeWidth);
效果图:

关于"Android怎么通过触摸动态地在屏幕上画矩形效果"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Android怎么通过触摸动态地在屏幕上画矩形效果"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
矩形
屏幕
效果
动态
函数
知识
内容
区域
厚度
对象
手指
篇文章
事件
代码
价值
信息
原理
参数
图形
坐标
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网高科技
重生之互联网科技帝国
互联网与科技金融数据
互联网金融与金融科技
互联网金融 科技金融
互联网与新科技
奇酷互联网络科技
互联网科技的英文
互联网科技论坛
互联网科技大会
汉立互联网科技有限公司联系电话
深圳市运趣互联网科技有限公司
成都互联网科技公司100强
佛山市翊博互联网络科技有限公司
为客找房互联网科技公司怎么样
互联网科技实习生岗位
易企秀互联网科技是做什么的
数字互联网科技有限公司
互联网领先科技成果宣传视频
高科技和互联网的现代国家
互联网与科技
中智农互联网科技
互联网科技革命
中国航天科技大学国际工业互联网
互联网科技产业特征
乌苏新华互联网科技做什么的
山东星卡互联网科技有限公司官网
容联科技互联网电商
求路客互联网科技电话
互联网金融金融科技