要添加哪些代码才能使图像移动?
Which Code To Add To Make An Image Move?
我应该在下面的 OnTouch
函数的注释中添加什么代码,以便在触摸屏幕的右侧或左侧时图像 CIRCLE1 向右或向左移动?如您所见,我尝试使用
float X = ImageView.getX(); X++;
我该如何改进?
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (v.getId()) {
case R.id.circle1:
if (event.getAction() == MotionEvent.ACTION_DOWN) {
//WHAT CODE SHOULD I PUT INSTEAD OF THE FLOAT X AND X++
float X = ImageView.getX();
X++;
}
break;
}
return false;
}
如果您只是想让它向右或向左移动,而不是跟随用户触摸,您还可以使用动画而不是调整布局参数。例如,要在用户触摸屏幕的右半部分或左半部分时仅向右或向左移动视图,您可以使用:
int ScreenWidth = getResources().getDisplayMetrics().widthPixels;
float Xtouch = event.getRawX();
int sign = Xtouch > 0.5*ScreenWidth ? 1 : -1;
float XToMove = 50; // or whatever amount you want
int durationMs = 50;
v.animate().translationXBy(sign*XToMove).setDuration(durationMs);
我应该在下面的 OnTouch
函数的注释中添加什么代码,以便在触摸屏幕的右侧或左侧时图像 CIRCLE1 向右或向左移动?如您所见,我尝试使用
float X = ImageView.getX(); X++;
我该如何改进?
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (v.getId()) {
case R.id.circle1:
if (event.getAction() == MotionEvent.ACTION_DOWN) {
//WHAT CODE SHOULD I PUT INSTEAD OF THE FLOAT X AND X++
float X = ImageView.getX();
X++;
}
break;
}
return false;
}
如果您只是想让它向右或向左移动,而不是跟随用户触摸,您还可以使用动画而不是调整布局参数。例如,要在用户触摸屏幕的右半部分或左半部分时仅向右或向左移动视图,您可以使用:
int ScreenWidth = getResources().getDisplayMetrics().widthPixels;
float Xtouch = event.getRawX();
int sign = Xtouch > 0.5*ScreenWidth ? 1 : -1;
float XToMove = 50; // or whatever amount you want
int durationMs = 50;
v.animate().translationXBy(sign*XToMove).setDuration(durationMs);