5

Приложение для планшета имеет одно действие и несколько различных макетов для разных режимов пользовательского интерфейса. В каждом из этих макетов используются теги < фрагментов для заполнения пользовательского интерфейса различными фрагментами (setContentView вызывается в Активность для переключения режимов).Переход фрагмента анимации при загрузке фрагментов из XML

Как я могу использовать анимацию перехода, чтобы затухать в новых фрагментах, когда они загружаются таким образом? Прямо сейчас переключение между режимами создает эффект мерцания при загрузке фрагментов.

Спасибо!

+0

Вы пытаетесь загрузить различные фрагменты в макет? –

ответ

1

Я никогда раньше не работал с фрагментами, но нет причин, по которым фрагменты будут влиять на мое решение. В основном, вы реализуете анимацию, которая будет отображаться в первом макете. Лучшим примером является ListView

Во-первых, вам нужно добавить несколько дополнительных анимационных файлов, добавлены к Рез/Аним

layout_controller.xml:

<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" 
android:delay="50%" 
android:animation="@anim/bounce" /> 

Это определяет процесс прокладки чего-то.
Затем bounce.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:anim/bounce_interpolator"> 
<translate 
    android:fromXDelta="40%" 
    android:toXDelta="0%" 
    android:fromYDelta="0%" 
    android:toYDelta="0%" 
    android:duration="900"/> 
<alpha 
    android:fromAlpha="0" 
    android:toAlpha="1" 
    android:duration="1000" 
    android:interpolator="@android:anim/linear_interpolator" 
    /> 

Эта анимация будет отскакивать деталь в то же время угасание его.

Теперь, если у вас есть ListView, установить это в это XML (будет работать для текстового просмотра, изображения и т. д.)

<ListView 
android:id="@+id/list" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:persistentDrawingCache="animation|scrolling" 
android:layoutAnimation="@anim/layout_controller" 
/> 

layoutAnimation поле сообщает listview, чтобы обратиться к контроллеру макета, как отобразить список. Когда сначала создается список, каждый элемент должен последовательно отскакивать. Вы можете легко настроить анимацию, изменив bounce.xml или изменив время ожидания, изменив 50% -ную задержку, определенную в layout_controller.

Смежные вопросы