安卓开发获取用户点击屏幕坐标

饿哦foe个 2013-08-13 04:13:22
在安卓开发中或许我们会遇到这样的情况,当用户点击屏幕的某个区域时候触发一事件,那么如何指定这个屏幕区域呢?我们可以这样实现,当用户点击屏幕时我们可以获取用户点击的当前屏幕的坐标,只要获取的坐标在范围内就触发相应事件,反之不进行操作。
(PS:新建的QQ群,有兴趣可以加入一起讨论:Android学习交流群278744577,验证:csdn
实现方法,我们可以在Activity中实现onTouchEvent方法,然后通过event.getX()和event.getY()获取用户当前点击的屏幕的坐标,然后判断坐标是否在指定范围内即可,下面是参考代码:
public class CoordinateDemoActivity extends Activity {
/** Called when the activity is first created. */
private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.textView1);
}
//在这里实现onTouchEvent
public boolean onTouchEvent(MotionEvent event) {
// 在这里判断一下如果是按下操作就获取坐标然后执行方法
if (event.getAction() == MotionEvent.ACTION_DOWN) {
displayXY(event.getX(), event.getY());
}
return super.onTouchEvent(event);
}
// 获取到坐标,进行判断
private void displayXY(float x, float y) {
if (x > 80 && y > 300 && x <200 && y < 600) {
tv.setText("点中了指定区域");
} else {
tv.setText("当前点击x坐标:" + x + "\n当前点击y坐标:" + y);
}
}
}

运行结果如下图:

...全文
197 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧