方向按钮在 "negative" 方向不起作用
Directional buttons do not work in the "negative" direction
我正在尝试使用图像按钮移动图像视图 Up/Down/Left/Right。我可以让图像左右移动,但是上下移动不起作用。
我试过更改 +/- 符号、移动图像的增量长度,以及 if/else 语句来确定是否移动图像。
// Move ImageView Up
case R.id.upBtn: {
if (img.getY() > 0) {
img.setY(img.getY() - 25);
}
}
// Move ImageView Down
case R.id.downBtn: {
if (img.getY() < 950) {
img.setY(img.getY() + 25);
}
}
// Move ImageView Left
case R.id.leftBtn: {
if (img.getX() > 0) {
img.setX(img.getX() - 25);
}
}
// Move ImageView Right
case R.id.rightBtn: {
if (img.getX() < 2000) {
img.setX(img.getX() + 25);
}
}
图像视图应该向所有方向移动,但不会向上或向左移动。我删除了 if/else 语句以查看它们是否是问题所在,并且它们对移动图像没有影响。他们只是防止它离开屏幕。看来我不能从 getY() 函数中减去,但这没有意义。
您缺少 break
语句,因此一旦 case
匹配,所有后续 case
语句的代码也将执行。
尝试:
// Move ImageView Up
case R.id.upBtn: {
if (img.getY() > 0) {
img.setY(img.getY() - 25);
}
}
break;
// Move ImageView Down
case R.id.downBtn: {
if (img.getY() < 950) {
img.setY(img.getY() + 25);
}
}
break;
// Move ImageView Left
case R.id.leftBtn: {
if (img.getX() > 0) {
img.setX(img.getX() - 25);
}
}
break;
// Move ImageView Right
case R.id.rightBtn: {
if (img.getX() < 2000) {
img.setX(img.getX() + 25);
}
}
break;
default :
我正在尝试使用图像按钮移动图像视图 Up/Down/Left/Right。我可以让图像左右移动,但是上下移动不起作用。
我试过更改 +/- 符号、移动图像的增量长度,以及 if/else 语句来确定是否移动图像。
// Move ImageView Up
case R.id.upBtn: {
if (img.getY() > 0) {
img.setY(img.getY() - 25);
}
}
// Move ImageView Down
case R.id.downBtn: {
if (img.getY() < 950) {
img.setY(img.getY() + 25);
}
}
// Move ImageView Left
case R.id.leftBtn: {
if (img.getX() > 0) {
img.setX(img.getX() - 25);
}
}
// Move ImageView Right
case R.id.rightBtn: {
if (img.getX() < 2000) {
img.setX(img.getX() + 25);
}
}
图像视图应该向所有方向移动,但不会向上或向左移动。我删除了 if/else 语句以查看它们是否是问题所在,并且它们对移动图像没有影响。他们只是防止它离开屏幕。看来我不能从 getY() 函数中减去,但这没有意义。
您缺少 break
语句,因此一旦 case
匹配,所有后续 case
语句的代码也将执行。
尝试:
// Move ImageView Up
case R.id.upBtn: {
if (img.getY() > 0) {
img.setY(img.getY() - 25);
}
}
break;
// Move ImageView Down
case R.id.downBtn: {
if (img.getY() < 950) {
img.setY(img.getY() + 25);
}
}
break;
// Move ImageView Left
case R.id.leftBtn: {
if (img.getX() > 0) {
img.setX(img.getX() - 25);
}
}
break;
// Move ImageView Right
case R.id.rightBtn: {
if (img.getX() < 2000) {
img.setX(img.getX() + 25);
}
}
break;
default :