我有一个Android项目,我有一个ImageView
,每次按下按钮时都会向左移动
tButton.setOnTouchListener(new RepeatListener(10, 10, new View.OnClickListener()
{
@Override
public void onClick(View view)
{
player1.setX(player1.getX() - 1);
}
}));
我不希望此ImageView
离开屏幕,因此我尝试在边缘添加另一个ImageView
,并尝试使用
tButton.setOnTouchListener(new RepeatListener(10, 10, new View.OnClickListener()
{
@Override
public void onClick(View view)
{
Rect p1 = new Rect();
player1.getHitRect(p1);
Rect sL = new Rect();
lSide.getHitRect(sL);
if(Rect.intersects(p1, sL))
{
player1.setX(player1.getX() + 100);
}
else
{
player1.setX(player1.getX() - 1);
}
}
}));
问题是,在两个对象感兴趣之后,似乎永远不会再调用onClick
方法。有什么东西我忘了做,还是有更简单的方法来解决这个问题?
感谢
答案 0 :(得分:2)
有一种更简单的方法可以解决问题。使用imageView.getLocationOnScreen()
在屏幕上获取视图的x和y位置。然后你可以检查并查看是否再次移动它会导致你有一个负X(从屏幕向左移动)或者如果X + imageView.getWidth()> screen_width(移到右边)。