アニメーション

序章:

アプリにいくつかのアニメーションを追加すると、アクティビティをオンまたはオフにする最も簡単な方法など、アプリケーションが非常に魅力的になります. もちろん、カスタム コントロール アニメーションは絶対に不可欠です~そして、Android のアニメーションはフレーム       ごとに 3 つのカテゴリに分けられますアニメーション (Frame)トゥイーン アニメーション (Tween) 、およびAndroid 3.0 以降に導入されたプロパティ アニメーション (Property)

1.フレームアニメーションフレームアニメーションのリソースファイルはdrawableフォルダに配置

  1. プロジェクトを作成

  2. リソースをインポートし、画像リソースを mipmap フォルダーに配置します

  3. drawable フォルダーの下にリソース ファイル cat_gif.xml を書き込みます。

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@mipmap/img_miao1"
        android:duration="80"/>
    <item android:drawable="@mipmap/img_miao2"
        android:duration="80"/>
    <item android:drawable="@mipmap/img_miao3"
        android:duration="80"/>
    <item android:drawable="@mipmap/img_miao4"
        android:duration="80"/>
	。。。

</animation-list>

   4. xml ページで <Imageview> を追加し、背景を設定します。

<ImageView
    android:id="@+id/im_cat"
    android:layout_width="340dp"
    android:layout_height="340dp"
    android:background="@drawable/cat_gif"/>

   5. Java ファイルで、imageview を取得し、その背景をアニメーション化します。

public class MainActivity extends AppCompatActivity {

    private ImageView im_cat;
    private AnimationDrawable anim;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        im_cat = findViewById(R.id.im_cat);

        anim = (AnimationDrawable) im_cat.getBackground();

    }
}

   6. アニメーションをオンにする

public class MainActivity extends AppCompatActivity {

    private ImageView im_cat;
    private AnimationDrawable anim;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        im_cat = findViewById(R.id.im_cat);

        anim = (AnimationDrawable) im_cat.getBackground();

        anim.start();
    }
}

2.トゥイーンアニメーショントゥイーンアニメーションのリソースファイルはanimフォルダ配下に配置

 2.1トゥイーンアニメーションには何種類ありますか?

    1. AlphaAnimation (透明グラデーション)

       anim_alpha.xml:  

<alpha xmlns:android="http://schemas.android.com/apk/res/android"  
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"  
    android:fromAlpha="1.0"  
    android:toAlpha="0.1"  
    android:duration="2000"/>

属性の説明:

  • fromAlpha : 初期透明度

  • toAlpha : 透明度を終了

  • 透明度の範囲: 0 ~ 1、完全に透明 - 完全に不透明

        

2.ScaleAnimation(スケールグラデーション)

anim_scale.xml

<scale xmlns:android="http://schemas.android.com/apk/res/android"  
    android:interpolator="@android:anim/accelerate_interpolator"  
    android:fromXScale="0.2"  
    android:toXScale="1.5"  
    android:fromYScale="0.2"  
    android:toYScale="1.5"  
    android:pivotX="50%"  
    android:pivotY="50%"  
    android:duration="2000"/>

 属性の説明:

  • fromXScale / fromYScale : X 軸 / Y 軸に沿ったスケーリングの開始比率

  • toXScale / toYScale : X 軸/Y 軸に沿ってスケーリングを終了します。

  • pivotX / pivotY : ズームされた中心軸ポイントの X/Y 座標、つまり、それ自体の左端からの位置。たとえば、50% は中心軸ポイントとしての画像の中心です。

3.TranslateAnimation(変位勾配)

anim_translate.xm :

<translate xmlns:android="http://schemas.android.com/apk/res/android"  
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"  
    android:fromXDelta="0"  
    android:toXDelta="320"  
    android:fromYDelta="0"  
    android:toYDelta="0"  
    android:duration="2000"/>
  • fromXDelta / fromYDelta : アニメーション開始位置の X/Y 座標

  • toXDelta / toYDelta : アニメーション終了位置の X/Y 座標

4. RotateAnimation (回転グラデーション)

anim_rotate.xml

<rotate xmlns:android="http://schemas.android.com/apk/res/android"  
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"  
    android:fromDegrees="0"  
    android:toDegrees="360"  
    android:duration="1000"  
    android:repeatCount="1"  
    android:repeatMode="reverse"/>

属性の説明:

  • fromDegrees / toDegrees : 回転の開始/終了角度

  • repeatCount : 回転数, デフォルト値は 0, 1 回を表します. 3 などの他の値の場合, 4 回回転します. また, 値が -1 または無限の場合, アニメーションが決して止まらない

  • repeatMode : 繰り返しモードを設定します。デフォルトはrestartですが、repeatCount が 0、無限、または -1 より大きい場合にのみ有効です。に設定することもできます。つまり、アニメーションが偶数回表示されると、逆方向に動きます!

5. AnimationSet (グラデーションの組み合わせ)

とてもシンプルで、前のアニメーションを組み合わせただけです~

anim_set.xml

<set xmlns:android="http://schemas.android.com/apk/res/android"  
    android:interpolator="@android:anim/decelerate_interpolator"  
    android:shareInterpolator="true" >  
  
    <scale  
        android:duration="2000"  
        android:fromXScale="0.2"  
        android:fromYScale="0.2"  
        android:pivotX="50%"  
        android:pivotY="50%"  
        android:toXScale="1.5"  
        android:toYScale="1.5" />  
  
    <rotate  
        android:duration="1000"  
        android:fromDegrees="0"  
        android:repeatCount="1"  
        android:repeatMode="reverse"  
        android:toDegrees="360" />  
  
    <translate  
        android:duration="2000"  
        android:fromXDelta="0"  
        android:fromYDelta="0"  
        android:toXDelta="320"  
        android:toYDelta="0" />  
  
    <alpha  
        android:duration="2000"  
        android:fromAlpha="1.0"  
        android:toAlpha="0.1" />  

</set>  

要約:

トゥイーン アニメーションで使用されるプロセス:

        1. 使用するモーショントゥイーンを選択する

        2. anim の下にリソース ファイルを作成します。

        3. AnimationUtils を使用してエフェクトをロードする

        4.アニメーション開始

おすすめ

転載: blog.csdn.net/shuo277/article/details/126014726