十九、動畫-補間動畫
阿新 • • 發佈:2022-03-24
一、補間動畫
1. alpha 透明度 2. rotate 旋轉
3. scale 縮放 4. translate 平移
二、建立資料夾 anim
三、建立主頁檢視顯示
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <ImageView android:id="@+id/iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:adjustViewBounds="true" android:maxWidth="300dp" android:maxHeight="300dp" android:src="@drawable/image" /> </RelativeLayout>
四、動畫xml檔案
4.1 alpha 透明度
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <!--透明度 --> <!--duration 設定時長--> <alpha android:fromAlpha="0" android:toAlpha="1" android:duration="2000" /> </set>
4.2 rotate 旋轉
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <!--旋轉--> <!--pivotX pivotY 設定角度--> <rotate android:fromDegrees="0" android:toDegrees="360" android:pivotX="50%" android:pivotY="50%" android:duration="2000" /> </set>
4.3 scale 縮放
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <!--縮放--> <scale android:fromXScale="1" android:fromYScale="1" android:toXScale="0.5" android:toYScale="0.5" android:pivotX="50%" android:pivotY="50%" android:duration="2000" /> </set>
4.4 translate 平移
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <!--平移--> <translate android:fromXDelta="0" android:fromYDelta="0" android:toXDelta="400" android:toYDelta="400" android:duration="2000" /> </set>
五、後臺啟用動畫
package com.example.mybujian; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ImageView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView imageview = findViewById(R.id.iv); imageview.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //通過載入xml動畫設定檔案建立一個 Animation 物件 //透明度 /* Animation animation = AnimationUtils.loadAnimation (MainActivity.this,R.anim.alpha);*/ //旋轉 /* Animation animation = AnimationUtils.loadAnimation (MainActivity.this,R.anim.rotate);*/ //縮放 /*Animation animation = AnimationUtils.loadAnimation (MainActivity.this,R.anim.scale);*/ //平移 Animation animation = AnimationUtils.loadAnimation (MainActivity.this,R.anim.translate); //通過ImageView啟動 imageview.startAnimation(animation); } }); } }