5

私のタブレットアプリケーションは、UIモードごとに1つのアクティビティといくつかの異なるレイアウトを持っています - これらのレイアウトはそれぞれ<フラグメント>タグを使用して、スイッチモードへのアクティビティ)。フラグメントがXMLからロードされるときにフラグメントのアニメーション化をアニメートする

この方法で新しいフラグメントをフェードインするにはどうすればよいでしょうか?現在、モードを切り替えると、フラグメントがロードされるときにフリッカー効果が生成されます。

ありがとうございます!

+0

レイアウトに別の断片を読み込もうとしていますか? –

答えて

1

以前はフラグメントで作業したことはありませんでしたが、フラグメントが私の解決に影響する理由はありません。基本的には、何かの最初のレイアウトに表示されるアニメーションを実装します。最良の例は、

まずリストビューで、あなたは

がlayout_controller.xmlのres /アニメーションに追加し、余分なアニメーションファイルのカップルを追加する必要があります:

<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" 
android:delay="50%" 
android:animation="@anim/bounce" /> 

これは定義されて何かを敷くプロセス。その後
bounce.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:anim/bounce_interpolator"> 
<translate 
    android:fromXDelta="40%" 
    android:toXDelta="0%" 
    android:fromYDelta="0%" 
    android:toYDelta="0%" 
    android:duration="900"/> 
<alpha 
    android:fromAlpha="0" 
    android:toAlpha="1" 
    android:duration="1000" 
    android:interpolator="@android:anim/linear_interpolator" 
    /> 

このアニメーションはまた、それをフェージングしばらくアイテムをバウンスします。

を今、あなたはリストビューを持っている場合は、それにこれを設定XML(ですテキストビュー、イメージビューなどで動作します)

<ListView 
android:id="@+id/list" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:persistentDrawingCache="animation|scrolling" 
android:layoutAnimation="@anim/layout_controller" 
/> 

layoutAnimationフィールドは、リストビューを表示する方法については、レイアウトコントローラを参照するリストビュー。リストビューを最初に描画すると、各項目が連続してバウンスする必要があります。bounce.xmlを変更してアニメーションを簡単にカスタマイズしたり、layout_controllerで定義された50%の遅延を変更して待ち時間を変更することができます。

関連する問題