Страницы

Поиск по вопросам

четверг, 9 апреля 2020 г.

Sliding между Activity

#javascript #android

                    
Как сделать переключение между активити при помощи слайдинга вправо и влево?

Нашел нечто подобное тут , но здесь при нажатии на кнопку слайдится. 
А мне нужно переключение при слайдинге пальцем вправо и влево.

Такое возможно сделать при использовании данного способа, указанного по ссылке? 
    


Ответы

Ответ 1



Посмотрите в сторону ViewPager ViewPager туториал

Ответ 2



Как-то так public class YourActivity extends Activity {   private GestureDetector gestureDetector;      @Override   public void onCreate(Bundle savedInstanceState) {     // ...     gestureDetector = new GestureDetector(                       new SwipeGestureDetector());   }   /* ... */   @Override   public boolean onTouchEvent(MotionEvent event) {     if (gestureDetector.onTouchEvent(event)) {       return true;     }     return super.onTouchEvent(event);   }   private void onLeftSwipe() {     // Do something   }   private void onRightSwipe() {     // Do something   }   // Private class for gestures   private class SwipeGestureDetector            extends SimpleOnGestureListener {     // Swipe properties, you can change it to make the swipe      // longer or shorter and speed     private static final int SWIPE_MIN_DISTANCE = 120;     private static final int SWIPE_MAX_OFF_PATH = 200;     private static final int SWIPE_THRESHOLD_VELOCITY = 200;     @Override     public boolean onFling(MotionEvent e1, MotionEvent e2,                          float velocityX, float velocityY) {       try {         float diffAbs = Math.abs(e1.getY() - e2.getY());         float diff = e1.getX() - e2.getX();         if (diffAbs > SWIPE_MAX_OFF_PATH)           return false;                  // Left swipe         if (diff > SWIPE_MIN_DISTANCE         && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {            YourActivity.this.onLeftSwipe();         // Right swipe         } else if (-diff > SWIPE_MIN_DISTANCE         && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {           YourActivity.this.onRightSwipe();         }       } catch (Exception e) {         Log.e("YourActivity", "Error on gestures");       }       return false;     }   }

Комментариев нет:

Отправить комментарий