Android Studio实现帧动画

Pandora ·
更新时间:2024-09-20
· 120 次阅读

本文实例为大家分享了Android Studio实现帧动画的具体代码,供大家参考,具体内容如下

按一定的顺序播放静态的图片

1、几张联系的图片

2、一个图片资源管理布局文件:cartoon_source.xml

3、一个主要的布局文件:cartoon.xml

4、main.java文件

cartoon_source.xml

<?xml version="1.0" encoding="utf-8"?> //帧动画资源列表控件 <animation-list xmlns:android="http://schemas.android.com/apk/res/android"> //第一个是图片资源的地址;第二参数是这个图片播放的事件:120ms; <item android:drawable="@drawable/boy_0" android:duration="120"/> <item android:drawable="@drawable/boy_1" android:duration="120"/> <item android:drawable="@drawable/boy_2" android:duration="120"/> <item android:drawable="@drawable/boy_3" android:duration="120"/> <item android:drawable="@drawable/boy_4" android:duration="120"/> <item android:drawable="@drawable/boy_5" android:duration="120"/> <item android:drawable="@drawable/boy_6" android:duration="120"/> <item android:drawable="@drawable/boy_7" android:duration="120"/> </animation-list>

cartoon.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:id="@+id/boy" android:background="@drawable/cartoon"(背景为资源整合布局文件) android:layout_height="match_parent" android:layout_width="match_parent" xmlns:android="http://schemas.android.com/apk/res/android"/>

main.java

package com.example.imageview; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import androidx.core.app.NotificationCompat; import android.annotation.SuppressLint; import android.app.AlertDialog; import android.app.Notification; import android.app.NotificationChannel; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.DialogInterface; import android.content.Intent; import android.graphics.BitmapFactory; import android.graphics.Color; import android.graphics.drawable.AnimationDrawable; import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.Button; import android.widget.ListView; import android.widget.PopupWindow; import android.widget.ProgressBar; import android.widget.RelativeLayout; import android.widget.TextView; import java.nio.channels.Channel; import java.util.ArrayList; import java.util.List; 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_boy); //获得布局 RelativeLayout relativeLayout = findViewById(R.id.boy); //从布局中获得背景 AnimationDrawable anim = (AnimationDrawable)relativeLayout.getBackground(); //设置点击监听 relativeLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (flag){ anim.start(); flag = false; } else{ anim.stop(); flag = true; } } }); }



Android Studio studio 动画 Android

需要 登录 后方可回复, 如果你还没有账号请 注册新账号