我想在我的自定义对话框中设置一些动画,我想以编程方式进行。我知道我可以用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);
但我想以编程方式进行。如何将以编程方式创建的动画设置为Dialog的show()和hide()方法?
谢谢。
答案 0 :(得分:1)
你不能因为对话框使用样式元素进行动画过渡。 并且您无法以编程方式设置样式元素。
答案 1 :(得分: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;
}