2015-06-30 4 views
6

Я хотел бы установить некоторые анимации в свой пользовательский диалог, и я хотел бы сделать это программно. Я знаю, что могу это сделать с помощью анимации xml:Анимация пользовательского диалога программно

<style name="DialogAnimation"> 
    <item name="android:windowEnterAnimation">@anim/slide_up_dialog</item> 
    <item name="android:windowExitAnimation">@anim/slide_out_down</item> 
</style> 


Dialog imageDiaglog= new Dialog(MainActivity.this,R.style.DialogAnimation); 

Но я хотел бы сделать это программно. Как настроить мои программно созданные анимации на методы show() и hide()?

спасибо.

ответ

1

Вы не можете, потому что в диалоговом окне используется элемент стиля для перехода анимации. И Вы не можете установить элементы стиля программно.

+0

ОК спасибо..Это возможно с помощью FragmentDialog программно? –

+0

Да его возможно –

+0

Если возможно, напишите свой ответ. Я даю вам щедрость. спасибо –

0

Вы можете использовать DialogFragment и установить анимацию в onCreateDialog(Dialog) или onStart(). Пример от here:

@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 
    Dialog dialog = super.onCreateDialog(savedInstanceState); 
    dialog.getWindow().getAttributes().windowAnimations = R.style.detailDialogAnimation; 
    return dialog; 
} 
+0

Мне нужна анимация программно .. не из файла анимации –

+0

Вы должны иметь возможность использовать 'getDialog(). getWindow(). setEnterTransition (yourTransition);'. Вам может потребоваться вызвать 'dialog.getWindow(). RequestFeature (Window.FEATURE_CONTENT_TRANSITIONS);' –

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