Android Studio實現補間動畫

本文實例為大傢分享瞭Android Studio實現補間動畫的具體代碼,供大傢參考,具體內容如下

補間動畫是給出初始位置和結束位置,中間由系統自動補充的動畫

1、補間動畫的配置文件:scale.xml

2、佈局文件:animal_patching.xml

3、main.java

sacle.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:duration="3000"(運動時間)
        android:toYScale="0.5"(結束大小)
        android:toXScale="0.5"
        android:pivotY="50%"(運動中心位置)
        android:pivotX="50%"
        android:fromXScale="1"(初始大小)
        android:fromYScale="1"/>
</set>

animal_patching

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <ImageView
        android:id="@+id/image"
        android:background="@drawable/boy"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>

main.java

package com.example.imageview;

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<i> extends AppCompatActivity {
    /*
    private static final String TAG = "leo";
    private NotificationManager manager;
    private Notification notification;
    private PopupWindow popupWindow;
    //創建一個數組,內部元素為Bean類型;
    private List<Bean> data = new ArrayList<>();
     */
    private boolean flag = true;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.cartoon_patching);

        ImageView imageView = findViewById(R.id.image);

        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //透明度***********************************
//                Animation animation = AnimationUtils.loadAnimation(MainActivity.this,R.anim.alpad_1);
//                imageView.startAnimation(animation);
                //旋轉************************************
//                Animation animation = AnimationUtils.loadAnimation(MainActivity.this,R.anim.rotate);
//                imageView.startAnimation(animation);
                //大小縮放**********************************
//                Animation animation = AnimationUtils.loadAnimation(MainActivity.this,R.anim.scale);
//                imageView.startAnimation(animation);
                //平移************************************
                Animation animation = AnimationUtils.loadAnimation(MainActivity.this,R.anim.translate);
                imageView.startAnimation(animation);
            }
        });


}

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: