#android #android-viewpager #android-animation
#Android #android-viewpager #android-анимация
Вопрос:
Я пытаюсь выяснить, как реализовать различные анимационные переходы между фрагментами view pager, такие как увеличение, уменьшение масштаба, постепенное увеличение, исчезновение и т.д. Но эти анимации должны быть случайными.
Комментарии:
1. что вы подразумеваете под случайным??
2. случайное среднее, если у меня есть 30 разных фрагментов, мне нужна случайная анимация при переключении на другие фрагменты
Ответ №1:
Я думаю, вам нужно написать класс со всеми вашими определенными переходами, а затем использовать класс Java Random.
1) код будет выглядеть примерно так.
private static int getRandomNumberInRange(int min, int max) {
if (min >= max) {
throw new IllegalArgumentException("max must be greater than min");
}
Random r = new Random();
return r.nextInt((max - min) 1) min;
}
В вашем случае это было бы
getRandomNumberInRange(1,30)
2) Определите ваши анимационные переходы как
transition1(), transition2(), transition3() и т.д…
3) И напишите в своем Activity вариант переключения для переходов фрагментов.
switch(randomNumber)
{
case 1: transform1();
break;
case 2: transform2():
break;
.
.
default: transformX();
}
Комментарии:
1. спасибо karthik за ваш ответ, не могли бы вы, пожалуйста, предложить анимацию, также мне нужно по крайней мере 30 типов различной анимации. Я нашел одну библиотеку github.com/geftimov/android-viewpager-transformers для 13 анимаций требуется еще 17…
2. я думаю, что в этом есть немного больше — github.com/ToxicBakery/ViewPagerTransforms
3. вы всегда можете определить свои собственные преобразования — medium.com/@BashaChris/… Это также может быть ресурсом — android-arsenal.com/tag/111
4. еще одна проблема, анимация кажется слишком быстрой, можем ли мы контролировать время анимации? в дополнение к этому, могу ли я включить пролистывание во фрагменте view pager я хочу, чтобы мой textview был виден при каждом пролистывании, например, если фрагмент имеет 4 текстовых вида, пользователь должен провести 4 раза, чтобы увидеть весь фрагмент, тогда при пролистывании должен быть виден только viewpager следующий фрагмент как реализовать это
5. можете ли вы привести пример приложения для случайной анимации, потому что я пытаюсь использовать вашу логику для случайной анимации, но она покажет застрявшую случайную анимацию.