Android获取点击屏幕的位置坐标
作者:carter_yu 发布时间:2023-12-14 21:18:31
标签:Android,屏幕,位置坐标
在Android开发过程中,有时需要获取触摸位置的坐标,以便作进一步处理,比如做炫酷的动画效果,或者响应其他操作。
本文简单介绍Android中触屏操作时,触屏的开始位置、当前位置、结束位置。
布局:
<RelativeLayout 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"
tools:context="com.example.com.TouchTest" >
<LinearLayout
android:id="@+id/ll_touch"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/touch_show_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<TextView
android:id="@+id/touch_show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</LinearLayout>
</RelativeLayout>
Activity中的操作:
public class TouchTest extends Activity implements OnTouchListener {
private TextView tvTouchShowStart;
private TextView tvTouchShow;
private LinearLayout llTouch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_touch_test);
init();
}
private void init() {
tvTouchShowStart = (TextView) findViewById(R.id.touch_show_start);
tvTouchShow = (TextView) findViewById(R.id.touch_show);
llTouch = (LinearLayout) findViewById(R.id.ll_touch);
llTouch.setOnTouchListener(this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
/**
* 点击的开始位置
*/
case MotionEvent.ACTION_DOWN:
tvTouchShowStart.setText("起始位置:(" + event.getX() + "," + event.getY());
break;
/**
* 触屏实时位置
*/
case MotionEvent.ACTION_MOVE:
tvTouchShow.setText("实时位置:(" + event.getX() + "," + event.getY());
break;
/**
* 离开屏幕的位置
*/
case MotionEvent.ACTION_UP:
tvTouchShow.setText("结束位置:(" + event.getX() + "," + event.getY());
break;
default:
break;
}
/**
* 注意返回值
* true:view继续响应Touch操作;
* false:view不再响应Touch操作,故此处若为false,只能显示起始位置,不能显示实时位置和结束位置
*/
return true;
}
}
效果图:
来源:https://blog.csdn.net/carter_yu/article/details/50499040


猜你喜欢
- 篇首,完全没有技术含量的帖子,高手略过,只为十几年后重新捡起的我爱好玩玩。。。起因,一个朋友说他下载了很多短视频,但只需要要其中的一小截,去
- 一、reservedcodecachesize参数介绍该参数是JvM虚拟机调优中调整内存大小的一个设置参数,值得大小设置直接影响到Code
- 楔子近期公司程序被安全扫描出 远程主机允许明文身份验证 中风险漏洞,查了下修复方案,RabbitMQ官方提供了SSL连接方式,而且 Spri
- 如果问你在日常开发中用到的最多的一个 Java 类是什么,阿粉敢打赌绝对是 String.class。说到&n
- Java try和catch的使用尽管由Java运行时系统提供的默认异常处理程序对于调试是很有用的,但通常你希望自己处理异常。这样做有两个好
- public class BeanDefinitionHolder implements BeanMetadataElement { &nb
- 主要介绍springboot项目中配置文件的加密前言为了保证服务器相关信息的保密,一般会采用加密的方式进行对配置文件原文的加密,今天介绍下s
- 设置OpenFeign的FeignClient的Header信息在微服务间使用Feign进行远程调用时需要在 header 中添加信息,那么
- 背景为了了解Seata AT模式的原理,我通过源码解读的方式画出了Seata AT模式启动的图示:如果是基于Springboot项目的话,项
- 前言:图片选择器基本上是每个App必备的东西,用公认好的第三方也可以,但是自己写的改起来方便,用起来顺手,而且这东西想想可能没动手之前想想比
- 今天看《第一行代码》上面关于拍照和从相册选取图片那一部分,发现始终出不来效果,所以搜索其他资料学习一下相关知识,写一个简单的Demo。&nb
- 前言笔者因为项目需要自定义相机,所以了解了一下 Android 关于 camera 这块的 API。Android SDK 21(LOLLI
- 本项目主要实现对汽车维修厂的信息化管理功能,主要包含三个角色:管理员,维修师傅,客户。实现的主要功能包含用户管理、配置管理、汽车管理、故障管
- 一、this 关键字的使用1. 概述this是什么?在Java中,this关键字比较难理解,它的作用和其词义很接近,表示&ldquo
- 生成指定范围内的随机数这个是最常用的技术之一,程序员希望通过随机数的方式来处理众多的业务逻辑,测试过程中也希望通过随机数的方式生成包含大量数
- 一、java发展史1.java之父:詹姆斯·高家林2.关键时间点:1996年Java(1.0)发布,2004年Java(5.0)发扬光大,2
- 一 Flow使用注意事项多个Flow不能放到一个lifecycleScope.launch里去collect{},因为进入collect{}
- 前言文章开始把我喜欢的这句话送个大家:这个世界上还有什么比自己写的代码运行在一亿人的电脑上更酷的事情吗,如果有那就是让这个数字再扩大十倍!!
- 本文通过两个方法:(1)计算总的页数。 (2)查询指定页数据,实现简单的分页效果。思路:首先得在 DAO 对象中提供分页查询的方法,在控制层
- 1、SSL介绍和说明SSL的配置也是我们在实际应用中经常遇到的场景SSL(Secure Sockets Layer,安全套接层)是为网络通信