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