прокрутка анимации в макетах: Android - PullRequest
0 голосов
/ 28 февраля 2012

Я знаю эффекты анимации и как применять их к представлениям (макетам) для onclicklistener, ontouchlistener и т. Д., Но какое событие происходит, когда я перемещаю макет влево или вправо.

previousButton.setOnClickListener(new OnClickListener()  {
      @Override 
        publicvoid onClick(View v) {  
              viewFlipper.setInAnimation(MainActivity.this,R.anim.view_transition_in_right);
               viewFlipper.setOutAnimation(MainActivity.this,R.anim.view_transition_out_right);
               viewFlipper.showPrevious();  
      }  
    });  
}

я не хочуonclicklistener.т.е. если я коснусь и сдвину текущий макет влево, он должен выйти, и следующий макет должен быть в текущем виде. Как это сделать?

Ответы [ 3 ]

1 голос
/ 28 февраля 2012

Заставьте свою деятельность реализовать onGestureListener.

, затем в свою деятельность добавьте

private GestureDetector gestureScanner;
gestureScanner = new GestureDetector(this);
private static final int SWIPE_MIN_DISTANCE = 100;
    private static final int SWIPE_THRESHOLD_VELOCITY = 100;

Затем переопределите onTouchEvent (событие MotionEvent), как показано ниже:

@Override
    public boolean onTouchEvent(MotionEvent event) {
        return gestureScanner.onTouchEvent(event);
    }

Наконец, вам нужно переопределить метод onFling примерно так:

@Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
            float velocityY) {
        /* on scroll to the next page */
        if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
                && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY
                ) {
            //Ur code goes here
        }
        /* on scroll to the previous page  */
        else if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
                && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY
                ) {
            //ur code goes here.
        }
        return false;
    }

Надеюсь, это поможет.

0 голосов
/ 28 февраля 2012

Вам нужен пейджер View -

ViewPager

Также очень легко реализовать, вы просто предоставляете адаптер аналогично ListView.

0 голосов
/ 28 февраля 2012

Вы должны использовать фрагменты для скольжения между видами.Используйте FragmentActivity и Fragment (для каждого представления). пример для разработчиков Android

Или вы можете просто использовать эту библиотеку с открытым исходным кодом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...