Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.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
Java 如何在文字搜索游戏中获得触摸效果_Java_Android_Xml - Fatal编程技术网

Java 如何在文字搜索游戏中获得触摸效果

Java 如何在文字搜索游戏中获得触摸效果,java,android,xml,Java,Android,Xml,我知道如何在按钮上设置ontouchlistener。我可以触摸线性布局并在其上移动手指,但该手指无法检测到按钮上的触摸。我似乎在触摸按钮,但实际上我正在触摸线性布局。如何按顺序触摸线性布局上的按钮 layoutVertical.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { final int

我知道如何在按钮上设置
ontouchlistener
。我可以触摸
线性布局
并在其上移动手指,但该手指无法检测到按钮上的触摸。我似乎在触摸按钮,但实际上我正在触摸
线性布局
。如何按顺序触摸线性布局上的按钮

layoutVertical.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        final int actionPeformed = event.getAction();

        switch (actionPeformed) {
            case MotionEvent.ACTION_DOWN: {
                final float x = event.getX();
                final float y = event.getY();

                lastXAxis = x;
                lastYAxis = y;

                textView2.setText("Button pressed");
                //buttons[0][0].setBackgroundColor(Color.RED);
                for(int i = 0; i < 3; i++) {
                    for (int j = 0; j < 3; j++) {

                    }
                }


                break;
            }

            case MotionEvent.ACTION_MOVE: {
                final float x = event.getX();
                final float y = event.getY();

                final float dx = x - lastXAxis;
                final float dy = y - lastYAxis;
                ed4 = (EditText) findViewById(R.id.editText4);
                xAxis += dx;
                yAxis += dy;
                ed4.setText(Float.toString(yAxis));
                break;
            }
            case MotionEvent.ACTION_UP: {

                textView2.setText("released");
                buttons[0][0].setBackgroundColor(Color.WHITE);
                GradientDrawable drawable = new GradientDrawable();
                //drawable.setShape(GradientDrawable.RECTANGLE);
                drawable.setStroke(2, Color.MAGENTA);
                drawable.setColor(Color.WHITE);
                buttons[rows][cols].setBackgroundDrawable(drawable);
                mp.pause();
            }

            case MotionEvent.ACTION_OUTSIDE:
            case MotionEvent.ACTION_POINTER_DOWN:
                break;
            case MotionEvent.ACTION_POINTER_UP:
                break;
        }

        return true;
    }
});
layoutVertical.setOnTouchListener(新视图.OnTouchListener(){
@凌驾
公共布尔onTouch(视图v,运动事件){
final int actionPeformed=event.getAction();
开关(已形成){
case MotionEvent.ACTION\u DOWN:{
最终浮点x=event.getX();
最终浮点y=event.getY();
lastXAxis=x;
lastYAxis=y;
textView2.setText(“按下按钮”);
//按钮[0][0]。setBackgroundColor(颜色.红色);
对于(int i=0;i<3;i++){
对于(int j=0;j<3;j++){
}
}
打破
}
case MotionEvent.ACTION\u移动:{
最终浮点x=event.getX();
最终浮点y=event.getY();
最终浮点数dx=x-最后的x轴;
最终浮点数dy=y-最后一个轴;
ed4=(EditText)findViewById(R.id.editText4);
xAxis+=dx;
yAxis+=dy;
ed4.setText(Float.toString(yAxis));
打破
}
case MotionEvent.ACTION\u UP:{
textView2.setText(“已发布”);
按钮[0][0]。setBackgroundColor(Color.WHITE);
GradientDrawable drawable=新的GradientDrawable();
//可绘制.设置形状(渐变可绘制.矩形);
可拉伸。调整行程(2,颜色。品红色);
可绘制。设置颜色(颜色。白色);
按钮[行][列].setBackgroundDrawable(可绘制);
mp.pause();
}
case MotionEvent.ACTION_外部:
case MotionEvent.ACTION\u指针\u向下:
打破
case MotionEvent.ACTION\u指针\u向上:
打破
}
返回true;
}
});

让我看看你的问题是否正确,你想让你的线性布局将触摸事件传递给你的按钮吗?我认为创建类似游戏的文字搜索的更好方法是创建自定义视图分割该视图(屏幕)在mxn维度中,然后使用该视图的onTouchListner并使用画布绘制颜色。让我看看我是否正确回答了您的问题,您是否希望您的线性布局将触摸事件传递到按钮?我认为创建类似游戏的文字搜索的更好方法是创建自定义视图分割该视图(屏幕)在mxn维度中,然后使用该视图的onTouchListner并使用画布绘制颜色。