日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Android 逐帧动画(Frame)

發布時間:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 逐帧动画(Frame) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android 逐幀動畫(Frame)? 很好理解就是將多張圖片放到一個容器里面通過控制這些圖片一幀一張圖片從而形成動畫

使用的使用通過AnimationDrawable 加載放好的圖片 然后通過調用start 和stop 開啟和暫停動畫

第一種方法:通過xml 來實現

首先需要在animation-list.xml 來存放圖片

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"android:oneshot="false"><itemandroid:drawable="@drawable/girl_1"android:duration="300" /><itemandroid:drawable="@drawable/girl_2"android:duration="300" /><itemandroid:drawable="@drawable/girl_3"android:duration="300" /><itemandroid:drawable="@drawable/girl_4"android:duration="300" /><itemandroid:drawable="@drawable/girl_5"android:duration="300" /><itemandroid:drawable="@drawable/girl_6"android:duration="300" /><itemandroid:drawable="@drawable/girl_7"android:duration="300" /><itemandroid:drawable="@drawable/girl_8"android:duration="300" /><itemandroid:drawable="@drawable/girl_9"android:duration="300" /><itemandroid:drawable="@drawable/girl_10"android:duration="300" /><itemandroid:drawable="@drawable/girl_11"android:duration="300" />
</animation-list>

注意:oneshot 設置為false表示動畫循環播放,設置為true 表示畫只播放一次停止在最后一幀上。

java 代碼 包含xml 實現和java 代碼實現動畫

public class FrameActivity extends AppCompatActivity {private Button startBtn; // 開始動畫按鈕private Button stopBtn; // 停止動畫按鈕private ImageView imageView, image; // 顯示圖片private AnimationDrawable anim, animationDrawable;@SuppressLint("ResourceType")@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.frame_activity_layout);// 實例化控件startBtn = findViewById(R.id.start);stopBtn = findViewById(R.id.stop);imageView = findViewById(R.id.image);image = findViewById(R.id.img);anim = new AnimationDrawable();for (int i = 1; i < 6; i++) {int id = getResources().getIdentifier("img" + i, "drawable", getPackageName());Drawable drawable = getResources().getDrawable(id);anim.addFrame(drawable, 500);imageView.setImageDrawable(anim);}// 指定動畫的幀的列表image.setBackgroundResource(R.drawable.boy_and_girl);// AnimationDrawable--與逐幀動畫相關的DrawableanimationDrawable = (AnimationDrawable) image.getBackground();startBtn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {// 開始動畫anim.start();animationDrawable.start();}});stopBtn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {// 暫停動畫anim.stop();animationDrawable.stop();}});}
}

這樣就實現了上面動畫的效果很簡單,這里回顧下,之前寫過這個demo 這里給出demo 地址

demo 地址如果有不清楚的地方可以點擊查看。

?

?

總結

以上是生活随笔為你收集整理的Android 逐帧动画(Frame)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。