应用Android Dialog动画?

时间:2014-12-28 03:39:03

标签: android xml animation dialog

我想将动画设置为我的Dialog。这里的挑战是我想以编程方式执行此操作。

原因是我有太多不同大小的对话框,我不想为每种类型的对话创建一个新的animation文件。

截至目前,如果我正在做的话:

res/anim/anim_myDialog_SlideUp.xml档案

<?xml version="1.0" encoding="UTF-8" ?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
   android:shareInterpolator="false">

   <translate android:fromXDelta="0%"
        android:toXDelta="0%"
        android:fromYDelta="200%" 
        android:toYDelta="0%"
        android:duration="400"/>
</set>

res/anim/anim_myDialog_SlideDown.xml档案

<?xml version="1.0" encoding="UTF-8" ?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
   android:shareInterpolator="false">

   <translate android:fromXDelta="0%"
        android:toXDelta="0%"
        android:fromYDelta="0" 
        android:toYDelta="200%"
        android:duration="400"/>
</set>

在我的res/values/styles.xml文件中

<style name="slideUpAndDown">
    <item name="android:windowEnterAnimation">@anim/anim_myDialog_SlideUp</item>
    <item name="android:windowExitAnimation">@anim/anim_myDialog_SlideDown</item>
</style>

<style name="myDialogSlideUpAndDown" parent="@android:style/Theme.Dialog">
    <item name="android:windowAnimationStyle">@style/slideUpAndDown</item>
</style>

在我的MainActivity.cs文件中

Dialog myDialog = new Dialog(this, Resource.Style.myDialogSlideUpAndDown);

我可以通过编程方式创建动画,没有任何问题。问题是如何将这些动画设置为我的Dialog?

如果我创建了一个Dialog而没有在构造函数中设置它的样式:

Dialog myDialog = new Dialog(this);

然后我可以选择这样做来设置它的动画:

myDialog.Window.SetWindowAnimations(int);

SetWindowAnimations需要int。我可以手动创建此动画吗int吗?

很抱歉这么长的解释,谢谢你的时间。

0 个答案:

没有答案