1

アニメーションの fillAfter プロパティを機能させることができません。xml のアニメーションの翻訳とセットの両方で使用しましたが、常に最後に標準のダイアログ位置にジャンプします。これは可能ですか?

xml のアニメーションの現在のスライド:

<set
android:fillAfter="true"
xmlns:android="http://schemas.android.com/apk/res/android">

<translate
    android:fromXDelta="100%"
    android:toXDelta="70%"
    android:fromYDelta="100%"
    android:toYDelta="70%"
    android:duration="2000" />

</set>

ダイアログに適用されている Themes.xml:

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

<style name="style_slide_in_dialog">
    <item name="android:windowEnterAnimation">@anim/animation_slide_in_dialog</item>
    <item name="android:windowExitAnimation">@anim/animation_slide_out_dialog</item>
</style>
4

1 に答える 1

0

のようなアニメーションTranslateAnimationは一時的なものです。アニメーションが完了したときに効果を持続させたい場合は、 を登録しAnimationListener、 で変更を永続化するために何らかの操作を行う必要がありますonAnimationEnd()。たとえば、 の場合、最終的な位置に配置するには、TranslateAnimationを調整する必要があります。LayoutParams

于 2012-04-12T13:06:22.167 に答える