#android #animation
#Android #Анимация
Вопрос:
Я хочу анимировать свой пользовательский диалог как появляющийся из определенной точки, но у меня возникли проблемы с настройкой анимации в диалоговом окне.
Диалог является базовым, RelativeLayout
установленным в качестве макета в классе, который extends
Dialog
.
Как было предложено в некоторых ответах здесь, я попытался настроить windowAnimations
для него следующим образом
final myCustomDialog dialog = new myCustomDialog(this);
dialog.getWindow().getAttributes().windowAnimations = R.style.CustomDialogTheme;
РЕДАКТИРОВАТЬ: настройка темы в конструкторе, похоже, работает, но анимации по-прежнему не работают
final myCustomDialog dialog = new myCustomDialog(this, R.style.CustomDialogTheme);
Стиль CustomDialogTheme, являющийся
<style name="CustomDialogTheme" parent="@android:style/Theme.Dialog">
<item name="android:windowAnimationStyle">@style/PauseDialogAnimation</item>
</style>
<style name="PauseDialogAnimation">
<item name="android:windowEnterAnimation">@android:anim/fade_in</item>
<item name="android:windowExitAnimation">@android:anim/fade_out</item>
</style>
Это просто не работает, не имеет никакого эффекта. Я попытался установить то же самое в android:windowAnimationStyle
теме проекта, и это сработало для действия.
Что я делаю не так и как мне анимировать пользовательский диалог, если это больше не работает.
Тестирование на Android 4.4.4 Paranoid Android со всеми анимациями, установленными на 1x, и Genymotion simulator для Nexus 5.
Ответ №1:
Попробуйте инициализировать свой диалог, передав стиль конструктору следующим образом:
final myCustomDialog dialog = new myCustomDialog(this, R.style.CustomDialogTheme);
Комментарии:
1. похоже, это повлияло на внешний вид, но не сработало для анимации.
2. неважно, забыл удалить атрибуты настройки строки, и теперь это работает. 🙂
3. Lol это происходит: P Пожалуйста, отметьте ответ как правильный