Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何检查按下了哪个图像侧_Android - Fatal编程技术网

Android 如何检查按下了哪个图像侧

Android 如何检查按下了哪个图像侧,android,Android,我不想使用下面这样的图像视图来创建虚拟交叉控制器或d-pad(在我的情况下,使用不同的按钮是不可能的) 当交叉图像显示在屏幕上时,我不想检查用户按下哪个键来调用函数,如up()、down()、left()和right() 交叉图像: imageView1.setOnTouchListener(新视图.OnTouchListener(){ @凌驾 公共布尔onTouch(视图v,运动事件){ int x=(int)event.getX(); int y=(int)event.getY(); 如果(

我不想使用下面这样的图像视图来创建虚拟交叉控制器或d-pad(在我的情况下,使用不同的按钮是不可能的)

当交叉图像显示在屏幕上时,我不想检查用户按下哪个键来调用函数,如up()、down()、left()和right()

交叉图像:

imageView1.setOnTouchListener(新视图.OnTouchListener(){
@凌驾
公共布尔onTouch(视图v,运动事件){
int x=(int)event.getX();
int y=(int)event.getY();

如果((x>170&&x0&&y170&&x230&&y0&&x170&&y230&&x170&&yd)你读了这篇文章吗:?谢谢你发布的链接。但是有没有一个简单的计算方法,我可以决定哪些坐标与十字架的每一边相关联?使用一个参数并计算位置。这应该很简单,如果x超过你宽度的一半,你就在右边。@CodeWhisper是的,你试过@simone_s1994发布的链接吗?GetX和GetY?你应该自己计算,因为你知道应该做出反应的领域。
   imageView1.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {

            int x = (int)event.getX();
            int y = (int)event.getY();

            if((x>170&&x<230)&&(y>0&&y<170))
            {//up
                Toast.makeText(MainActivity.this,"up",Toast.LENGTH_SHORT).show();
                 }
            else if((x>170&&x<230)&&(y>230&&y<400))
            {//down
                Toast.makeText(MainActivity.this,"down",Toast.LENGTH_SHORT).show();
            }
            else if((x>0&&x<170)&&(y>170&&y<230))
            {//left
                Toast.makeText(MainActivity.this,"left",Toast.LENGTH_SHORT).show();
            }
            else if((x>230&&x<400)&&(y>170&&y<230))
            {//right
                Toast.makeText(MainActivity.this,"right",Toast.LENGTH_SHORT).show();
            }
            return false;

        }
    });