在android开发中或许我们会遇到这样的情况,当用户点击屏幕的某个区域时候触发一事件,那么如何指定这个屏幕区域呢?我们可以这样实现,当用户点击屏幕时我们可以获取用户点击的当前屏幕的坐标,只要获取的坐标在范围内就触发相应事件,反之不进行操作。
实现方法,我们可以在
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);
- }
- }
- }
|
运行结果如下图:

