Android:如何检测用户何时向左触摸视图区域的20%? [英] android: how can I detect when user touch left 20% of view area?

查看:90
本文介绍了Android:如何检测用户何时向左触摸视图区域的20%?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

活动中,通过使用

public boolean dispatchTouchEvent(MotionEvent ev)

我怎么知道用户正在触摸向左 Y轴的边缘区域占20%?

how can I know an user is touching left Y-axis of 20% edge area?

它应该是通用的,并且应该处理方向。
我不想在此上创建任何隐藏视图。

It should be generic and orientation handled. I don't want to create any hidden view on that.

推荐答案


  • 获取设备宽度

  • 计算左侧20%的宽度大小(从0到X)

  • 使用 event.getX()

  • 检查 event.getX()是否在设备中包含20%的

    • Get device width
    • Calculate left 20% width size (from 0 to X)
    • Use event.getX()
    • Check that event.getX() is inside device with 20%
    • 示例:

      public class YourActivity extends Activity {
      
              private LinearLayout background;
              private float xValue, yValue, leftPersentage;
              private int height,width;
      
      
              @Override
              protected void onCreate(Bundle savedInstanceState) {
                  super.onCreate(savedInstanceState);
                  setContentView(R.layout.activity_home);
      
                  DisplayMetrics displaymetrics = new DisplayMetrics();
                  getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
                  height = displaymetrics.heightPixels;
                  width = displaymetrics.widthPixels;
      
                  leftPersentage = (width)*20/100;
      
                  background = (LinearLayout) findViewById(R.id.background);
                  background.setOnTouchListener(new View.OnTouchListener() {
                      @Override
                      public boolean onTouch(View v, MotionEvent event) {
                          xValue = event.getX();
                          yValue = event.getY();
                          Log.d("Values Clicked" , xValue +"and" + yValue);
                          if(xValue <= leftPersentage){
                              // perform your task 
                              Log.d("Values Clicked onLeft" , xValue +"and" + yValue);
                          }
      
                          return false;
                      }
                  });
              }
          }
      

      这篇关于Android:如何检测用户何时向左触摸视图区域的20%?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆