Как реализовать viewpager с внешним видом типа stackview

Мне нужно реализовать viewpager, который имеет внешний вид и анимацию, как у виджета stackview в android. Я уже изучил https://github.com/blipinsk/FlippableStackView/tree/master/library/src/main/java/com/bartoszlipinski/flippablestackview. Но это не соответствует моей цели, так как представления анимированы с помощью флип-анимации. Любая помощь будет оценена.


person Nazmuddin Mavliwala    schedule 23.11.2015    source источник


Ответы (1)


Неважно, я решил проблему, внедрив собственный PageTransformer.

код:

открытый класс DepthPageTransformer реализует ViewPager.PageTransformer {

private static final float DEFAULT_CURRENT_PAGE_SCALE = 0.8f;
private int dimen;

public void transformPage(View view, float position) {
    view.setScaleX(DEFAULT_CURRENT_PAGE_SCALE);
    view.setScaleY(DEFAULT_CURRENT_PAGE_SCALE);
    dimen = view.getWidth();

    if(position < -1) {
        view.setAlpha(0);

    } else if(position <= 0) {
        view.setAlpha(1.0f);
        view.setTranslationX(0);
        view.setTranslationY(0);

    } else if(position <= 1+1) {
        view.setTranslationX(dimen * -position);
        view.setAlpha(-0.5f * position + 1.0f);
        view.setTranslationX((-dimen / 1.1F) * position);
        view.setTranslationY((dimen / 9.9f)*position);

    } else {
        view.setAlpha(0);
    }

}

}

использование: создайте экземпляр viewpager, а затем установите пользовательский преобразователь viewpager как:- viewpager.setPageTransformer(true,new DepthPageTransformer());

person Nazmuddin Mavliwala    schedule 27.11.2015
comment
Привет, @Namuddin, ты можешь мне помочь? - person ; 04.05.2018