主题 : 【代码】安卓开发获取用户点击屏幕坐标 复制链接 | 浏览器收藏 | 打印
欢迎加入清源的android开发交流群:314230976,加群时请验证:arm,谢谢!
级别: 侠客
UID: 94332
精华: 0
发帖: 72
金钱: 370 两
威望: 74 点
综合积分: 144 分
注册时间: 2013-07-14
最后登录: 2013-09-25
楼主  发表于: 2013-08-13 14:50

 【代码】安卓开发获取用户点击屏幕坐标

在android开发中或许我们会遇到这样的情况,当用户点击屏幕的某个区域时候触发一事件,那么如何指定这个屏幕区域呢?我们可以这样实现,当用户点击屏幕时我们可以获取用户点击的当前屏幕的坐标,只要获取的坐标在范围内就触发相应事件,反之不进行操作。
实现方法,我们可以在Activity中实现onTouchEvent方法,然后通过event.getX()和event.getY()获取用户当前点击的屏幕的坐标,然后判断坐标是否在指定范围内即可,下面是参考代码:
复制代码
  1. public class CoordinateDemoActivity extends Activity {
  2. /** Called when the activity is first created. */
  3. private TextView tv;
  4. @Override
  5. public void onCreate(Bundle savedInstanceState) {
  6. super.onCreate(savedInstanceState);
  7. setContentView(R.layout.main);
  8. tv = (TextView) findViewById(R.id.textView1);
  9. }
  10. //在这里实现onTouchEvent
  11. public boolean onTouchEvent(MotionEvent event) {
  12. // 在这里判断一下如果是按下操作就获取坐标然后执行方法
  13. if (event.getAction() == MotionEvent.ACTION_DOWN) {
  14. displayXY(event.getX(), event.getY());
  15. }
  16. return super.onTouchEvent(event);
  17. }
  18. // 获取到坐标,进行判断
  19. private void displayXY(float x, float y) {
  20. if (x > 80 && y > 300 && x <200 && y < 600) {
  21. tv.setText("点中了指定区域");
  22. } else {
  23. tv.setText("当前点击x坐标:" + x + "\n当前点击y坐标:" + y);
  24. }
  25. }
  26. }

运行结果如下图:

欢迎加入android开发交流群,群号是:314230976