Анимировать настраиваемый диалог
Я пытаюсь создать пользовательский диалог, как будто он сползает с текстового вида. Это возможно? Я не могу применить анимацию к classу диалога. Я пробовал эту строку в конструкторе, но не имеет никакого эффекта:
. This.getWindow () setWindowAnimations (R.anim.paranimation);
Я даже не уверен, что анимация правильная, но я смогу ее отрегулировать, как только увижу, что она делает. Я перечислил его ниже ради полноты. Я не ищу помощь в реальной анимации, просто приложение в диалоговом окне.
- Анимация в панели уведомлений Пользовательский вид
- CSS ТОЛЬКО Анимация Кружок рисования с радиусом границы и прозрачным фоном
- как я могу использовать анимацию в cocos2d?
- Пользовательская анимация для нажатия UIViewController
- Как нарисовать круг с анимацией в android с размером круга на основе значения
paranimation.xml:
- Цепочки анимации jQuery, которые влияют на различные элементы
- Преобразование источника в SVG в Firefox
- Изменение размеров макетов программным способом (как анимация)
- iOS8: Что происходит с перемещением просмотров при переходе на клавиатуру?
- Как приостановить анимацию кадра с помощью AnimationDrawable?
- В JavaFX как перемещать спрайт по экрану?
- Как мне оживить View.setVisibility (GONE)
- Как вы одушевляете линию на canvasе в C #?
Сегодня я борется с анимацией Dialog, наконец, начал работать с использованием стилей, вот пример.
Начнем с того, что самое главное – я, наверное, сегодня работал по-разному, но не мог сказать, потому что … Если настройки анимации ваших устройств установлены на «Без анимации» (Настройки → Экран → Анимация), тогда диалоги выиграли быть анимированным, независимо от того, что вы делаете!
Ниже приведена урезанная версия моего styles.xml. Надеюсь, это самоочевидно. Это должно быть расположено в res/values
.
windowEnterAnimation
является одной из моих анимаций и находится в res\anim
. windowExitAnimation
– одна из анимаций, которые являются частью Android SDK.
Затем, когда я создаю диалог в своих действиях onCreateDialog(int id)
я делаю следующее.
Dialog dialog = new Dialog(this, R.style.PauseDialog); // Setting the title and layout for the dialog dialog.setTitle(R.string.pause_menu_label); dialog.setContentView(R.layout.pause_menu);
В качестве альтернативы вы можете настроить анимацию следующим образом, вместо использования конструктора Dialog, который принимает тему.
Dialog dialog = new Dialog(this); dialog.getWindow().getAttributes().windowAnimations = R.style.PauseDialogAnimation;
Я создал анимацию Fade in и Fade Out для Dialogbox с использованием кода ChrisJD.
-
Внутри res / style.xml
-
Внутри anim / fadein.xml
-
Внутри anim / fadeut.xml
-
Основная деятельность
Dialog imageDiaglog= new Dialog(MainActivity.this,R.style.PauseDialog);
Для справа налево (анимация ввода) и слева направо (анимация выхода):
styles.xml:
Создайте два файла в res / anim /:
translate_right_side.xml:
translate_left_side.xml:
В вас Фрагмент / Активность:
Dialog dialog = new Dialog(getActivity(), R.style.CustomDialog);
Я встречаю ту же проблему, но, наконец, я решу проблему, следуя пути
((ViewGroup)dialog.getWindow().getDecorView()) .getChildAt(0).startAnimation(AnimationUtils.loadAnimation( context,android.R.anim.slide_in_left));