Android Studio帧动画 Android Studio实现帧动画
G.O.Y 人气:0想了解Android Studio实现帧动画的相关内容吗,G.O.Y在本文为您仔细讲解Android Studio帧动画的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点: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; } } }); }
加载全部内容