Мне нужно реализовать viewpager, который имеет внешний вид и анимацию, как у виджета stackview в android. Я уже изучил https://github.com/blipinsk/FlippableStackView/tree/master/library/src/main/java/com/bartoszlipinski/flippablestackview. Но это не соответствует моей цели, так как представления анимированы с помощью флип-анимации. Любая помощь будет оценена.
Как реализовать viewpager с внешним видом типа stackview
Ответы (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
Привет, @Namuddin, ты можешь мне помочь?
- person ; 04.05.2018