5

移動アニメーションと回転アニメーションを使用して、イベントView内に配置します。アニメーションを即座に実行したいので、両方の期間を 0 に設定します。しかし、アプリケーションが起動すると、画面の左上隅に私の短い点滅があり、アニメーション パラメータに従って配置されます。このまばたきを避けるにはどうすればよいですか?FrameLayoutonCreateView

4

5 に答える 5

6

私はその問題で一日を過ごしました。fillAfter と fillBefore はそれとは何の関係もありません。アニメーション開始前にこれを試してください:

view.setVisibility(View.GONE); // view is our View we trying to animate

次に、アニメーションのアニメーション リスナーを設定します。

    animation.setAnimationListener(new AnimationListener(){
        public void onAnimationEnd(Animation animation) {
        }

        public void onAnimationRepeat(Animation animation) {
        }

        public void onAnimationStart(Animation animation) {
            v.setVisibility(View.VISIBLE);
        }
于 2012-10-26T07:07:02.283 に答える
4

animation.setFillAfter(true)必要に応じてまたはを使用animation.setFillBefore(true)します。これでまばたきが解決するはずです

于 2012-10-09T11:40:34.533 に答える
0

Odaymの答えは、実際の問題の解決策です。そのようなものがある場合:

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

これを次のように変更します。

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="true" android:duration="1000">
        <translate
            android:fromXDelta="100%"
            android:toXDelta="0"
            />
</set>
于 2016-10-20T13:14:17.823 に答える
0

「onAnimationEnd」ではなく、アニメーション実行コードの後に​​可視性を設定し、期間も設定してみてください

view.setVisibility(View.VISIBLE); // view is our View we trying to animate
于 2017-11-30T09:51:59.277 に答える