Подтвердить что ты не робот

Возможно ли сделать эту анимацию для Android с помощью ViewPager?

Мне нужно сделать 2 экрана с пользовательской анимацией, как описано ниже:

          Screen 1                                    Screen 2
 -----------------------------              ------------------------------
|                   |         |            |        |                     |
|                   |         |            |        |                     |
|                   |         |            |        |                     |
|                   |         |            |        |                     |
|                   |         |            |        |                     |
|                   |         |            |        |                     |
|                   |         |            |        |                     |
|                   |         |            |        |                     |
|       List 1      |  List2  | ---------> | List 3 |      List 4         |
|                   |         |            |        |                     |
|                   |         |            |        |                     |
|                   |         |            |        |                     |
|                   |         |            |        |                     |
|                   |         |            |        |                     |
|                   |         |            |        |                     |
|                   |         |            |        |                     |
|                   |         |            |        |                     |
|                   |         |            |        |                     |
 -----------------------------              ------------------------------

  • Пользователь делает длинный контакт с элементом в списке 1 и слайдами слева направо.
  • Вид, содержащий список 1, перемещается слева направо (до конца экрана) и исчезает. Отображается экран 2.

Можно ли сделать эту анимацию с помощью ViewPager? Если да, то как?

Я хотел бы сделать это через ViewPager, потому что я довольно широко использую Fragment, и я уже много реализовал множество фрагментов.

Если кто-то нуждается в разъяснении об анимации или пользовательском интерфейсе, сообщите мне.

Обновление. Я смог реализовать оба экрана в одном действии, которые я частично объяснил здесь. Я могу реализовать то же самое в одном фрагменте. Но возможность реализовать, поскольку различные Fragment в ViewPager все равно помогут.

4b9b3361

Ответ 1

ViewPager, тоже я, кажется, слишком переполнен. Если вы не хотите добавлять дополнительные экраны позже или какое-либо другое требование. Для этих простых экранов вы можете сделать это с помощью ActivityAnimations. Если вы установите Screen1 и Screen2 в отдельную активность, вы можете анимировать действия, используя простые стили. Вам не нужно кодировать, просто определите стили Enter и Exit для своих действий, и они будут выполнены.

Итак, если у вас нет другой причины для использования ViewPager, вы можете добиться того же эффекта следующим (не тестированным):

Android Manifest.xml

<activity android:name=".Screen1" android:theme="@style/Animated"></activity>
<activity android:name=".Screen2"></activity>

Ваши темы .xml

<resources>
    <style name="Animated">
        <item name="android:windowAnimationStyle">@style/Animation.ScreenAnimation</item>
    </style>
</resources>

Наконец, в вашем styles.xml

<style name="Animation"></style>
<style name="Animation.ScreenAnimation" parent="android:style/Animation.Activity">
    <item name="android:activityOpenEnterAnimation">@anim/slide_in_right</item>
    <item name="android:activityOpenExitAnimation">@anim/slide_out_left</item>
    <item name="android:activityCloseEnterAnimation">@anim/slide_out_left</item>
    <item name="android:activityCloseExitAnimation">@anim/slide_in_right</item>
</style>

Ответ 2

Я успешно использовал вертикальные ListViews внутри ViewPagers. Как насчет просмотра горизонтального списка прокрутки внутри вашего ViewPager?