ビューをアニメーションさせながら表示する方法

ビューに対してレイアウトアニメーションを使うとビューを左から右に移動してくるように表示をさせたりしてどアニメーションさせながら表示することが可能です。

レイアウトアニメーションを実際にビューに適用するには次の手順をとります。

  1. アニメーションの作成
  2. ビューにアニメーションを適用

アニメーションの作成

例えば画面右端から左端に平行移動してくるようなアニメーションをres/animフォルダに作ります。

translate.xml
<?xml version="1.0" encoding="utf-8" ?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    
    <translate android:fromXDelta="100%" 
                  android:toXDelta="0%" 
                  android:duration="100" 
                  android:fillAfter="true" />

</set>

これは100ミリ秒で画面右から左端に移動して終了時に状態を保存するようなアニメーションになります。

そして次にこのアニメーションをもとにレイアウトアニメーションを次のように作ります。

layout_anm.xml
<?xml version="1.0" encoding="utf-8" ?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" 
    android:delay="100%" 
    android:animation="@anim/translate" />

android:animation属性に実行したいアニメーションリソースを渡すだけでOKです。

ビューにアニメーションを適用

最後にレイアウト上で目的のビューにレイアウトアニメーションを適用してあげます。

<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" >
    
    <Button
        android:id="@+id/button" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layoutAnimation="@anim/layout_anm" />

</LinearLayout>

layoutAnimation属性にレイアウトアニメーションのリソース名を渡せばビューが表示された最初の瞬間にアニメーションが実行されます。

関連項目
プライバシーポリシー