Tôi mới sử dụng tính năng vuốt Cử chỉ cho ứng dụng Android. Tôi đang cố gắng vuốt một ImageView từ Trái sang Phải của màn hình bằng cách sử dụng mã bên dưới:Android - Cách di chuyển ImageView trên Swipe
public class MainActivity extends Activity implements OnClickListener{
private static final int SWIPE_MIN_DISTANCE = 10;
private static final int SWIPE_MAX_OFF_PATH = 250;
private static final int SWIPE_THRESHOLD_VELOCITY = 200;
private GestureDetector gestureDetector;
View.OnTouchListener gestureListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView btnSwipe = (ImageView)findViewById(R.id.imgBtnSwipe);
btnSwipe.setOnClickListener(this);
gestureDetector = new GestureDetector(this, new MyGestureDetector());
gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
};
btnSwipe.setOnTouchListener(gestureListener);
}
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
try {
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
return false;
if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
Toast.makeText(MainActivity.this, "Left Swipe", Toast.LENGTH_SHORT).show();
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
Toast.makeText(MainActivity.this, "Right Swipe", Toast.LENGTH_SHORT).show();
}
} catch (Exception e) {
// nothing
}
return false;
}
}
@Override
public void onClick(View v) {
}
}
Tôi nhận được thông báo Bánh mì nướng dưới dạng Swipe phải. Nhưng hình ảnh không chuyển động. Làm thế nào tôi có thể thực hiện điều đó? Xin hãy giúp tôi với mã/liên kết mẫu.
vào lần thứ hai, "vuốt sang trái", tôi đoán nó phải được setTranslationX một lần nữa, phải không? – iversoncru
khi tôi cố gắng sử dụng "setTranslation" với Chế độ xem (đây là btnSwipe ImageView), có lỗi: "phương thức setTranslationX là không xác định cho loại Xem" lỗi tương tự cho ImageView. bất kỳ ý tưởng? – iversoncru
Cấp API của bạn là gì? Nếu nó nhỏ hơn 11, thì bạn sẽ không có chức năng này. – Brianide