我正在尝试显示/隐藏TextView.因此,如果用户从左向右滑动,它将从"橙色渐变视图"后面显示TextView.在显示的文字后,5秒后,它将再次隐藏它,如下图所示:
但我不知道如上所述实施的最佳实践是什么.请帮忙.
这是xml文件
现在使用这个类
import android.content.Context; import android.view.GestureDetector; import android.view.GestureDetector.SimpleOnGestureListener; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; /** * This TouchListener is Using for very First time ThemeSelection Screen with SwipeLeft Finger */ public class OnSwipeTouchListener implements OnTouchListener { private final GestureDetector gestureDetector; public OnSwipeTouchListener(Context ctx) { gestureDetector = new GestureDetector(ctx, new GestureListener()); } @Override public boolean onTouch(View v, MotionEvent event) { return gestureDetector.onTouchEvent(event); } private final class GestureListener extends SimpleOnGestureListener { private static final int SWIPE_THRESHOLD = 1; private static final int SWIPE_VELOCITY_THRESHOLD = 1; @Override public boolean onDown(MotionEvent e) { return true; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { boolean result = false; try { float diffY = e2.getY() - e1.getY(); float diffX = e2.getX() - e1.getX(); if (Math.abs(diffX) > Math.abs(diffY)) { if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) { if (diffX > 0) { onSwipeRight(); } else { onSwipeLeft(); } } result = true; } else if (Math.abs(diffY) > SWIPE_THRESHOLD && Math.abs(velocityY) > SWIPE_VELOCITY_THRESHOLD) { if (diffY > 0) { onSwipeBottom(); } else { onSwipeTop(); } } result = true; } catch (Exception exception) { exception.printStackTrace(); } return result; } } public void onSwipeRight() { } public void onSwipeLeft() { } public void onSwipeTop() { } public void onSwipeBottom() { } }
在您的MainActivity.java类中使用下面的代码
//llMain is the root layout of your xml where you want to perform swipe llMain.setOnTouchListener(new OnSwipeTouchListener(ThemeSelectionActivity.this) { @Override public void onSwipeLeft() { super.onSwipeLeft(); } } @Override public void onSwipeRight() { super.onSwipeRight(); // Put your logic here for text visibility and for timer like progress bar for 5 second and setText } });