Android中实现一个简单的逐帧动画(附代码下载)
生活随笔
收集整理的這篇文章主要介紹了
Android中实现一个简单的逐帧动画(附代码下载)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
場景
Android中的逐幀動畫,就是由連續的一張張照片組成的動畫。
效果
?
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。
實現
首先準備一組不同表情的照片,放在res/drawable下,然后在此目錄下新建動畫資源文件fairy.xml
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/img001" android:duration="60"/><item android:drawable="@drawable/img002" android:duration="60"/><item android:drawable="@drawable/img003" android:duration="60"/><item android:drawable="@drawable/img004" android:duration="60"/><item android:drawable="@drawable/img005" android:duration="60"/><item android:drawable="@drawable/img006" android:duration="60"/> </animation-list>這里是逐幀動畫,所以節點是animation-list 。
然后來到布局文件,將布局設置為LinearLayout并添加id屬性,并且設置背景為上面添加的動畫資源文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:id="@+id/linearLayout"android:orientation="vertical"android:background="@drawable/fairy"android:layout_height="match_parent"tools:context=".MainActivity"></LinearLayout>然后來到對應的Activity,創建標識變量Flag,然后獲取AnimationDrawable對象,并且為布局管理器添加單擊事件。從而控制動畫的停止和播放。
package com.badao.animationtest;import androidx.appcompat.app.AppCompatActivity;import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.view.View; import android.widget.LinearLayout;public class MainActivity extends AppCompatActivity {private boolean flag = true;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);LinearLayout linearLayout= (LinearLayout) findViewById(R.id.linearLayout); //獲取布局管理器//獲取AnimationDrawable對象final AnimationDrawable anim= (AnimationDrawable) linearLayout.getBackground();linearLayout.setOnClickListener(new View.OnClickListener() {? //為布局管理器添加單擊事件@Overridepublic void onClick(View v) {if(flag){anim.start(); //開始播放動畫flag=false;}else {anim.stop();? //停止播放動畫flag=true;}}});} }代碼下載
https://download.csdn.net/download/BADAO_LIUMANG_QIZHI/12097211
總結
以上是生活随笔為你收集整理的Android中实现一个简单的逐帧动画(附代码下载)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android中使用Canvas和Pai
- 下一篇: Android中四种补间动画的使用示例(