0

overridePendingTransitionで使用しているアクティビティから別のアクティビティへの遷移があります。残念ながら、overridePendingTransitionが使用するのはファイルのリソースIDであるため、トランジションが適切になるようにこのファイルを編集する方法に問題があります。

基本的に私がする必要があるのは、R.anim.flip_in_scale_inに変更を加えて、ユーザーの画面サイズに基づいて設定されるように、X/toXからの遷移の値を変更できるようにすることです。

overridePendingTransition(R.anim.flip_in_scale_in, R.anim.stationary_item); 

overridePendingTransitionで使用する前にR.anim.flip_in_scale_inファイルを更新するにはどうすればよいですか?

4

1 に答える 1

1

リソース ファイルのアニメーションを思い通りに変更する方法はありません。

ただし、dp 値ではなくパーセンテージを使用するアニメーションを作成することはできます。アニメーションが のビューに適用されるとActivity、ビューのサイズ (ほとんどの場合、画面サイズ) で完全にアニメーション化されます。

これは例えば:

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:fromXDelta="100%"
        android:toXDelta="0%"
        android:duration="500"
        />
</set>

0.5 秒以内に画面の右側から画面にスライドします。

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromXScale="1.0"
        android:toXScale="1.4"
        android:fromYScale="1.0"
        android:toYScale="1.4"
        android:pivotX="50%"
        android:pivotY="50%"
        android:duration="1000" />
</set>

これにより、ビューが 1 秒間で現在のサイズの 40% に拡大されます。ビューのサイズに関係なく、ピボットはビューの真ん中にあります。

于 2013-01-24T14:48:39.960 に答える