亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android逐幀動畫實現(xiàn)代碼

 更新時間:2017年01月23日 14:11:48   作者:曉明_Android  
這篇文章主要為大家詳細(xì)介紹了Android逐幀動畫實現(xiàn)代碼,可以通過xml或java代碼實現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

逐幀動畫(Frame-by-frame Animations)顧名思義就是一幀接著一幀的播放圖片,就像放電影一樣。可以通過xml實現(xiàn)也可以通過java代碼實現(xiàn)。逐幀動畫適合實現(xiàn)比較簡單的動畫效果,如果要實現(xiàn)復(fù)雜動畫不太建議使用逐幀動畫。

xml方式實現(xiàn):

step 1 : 在res/drawable目錄下一個文件sample_animlist.xml:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
 android:oneshot="false">
 <item
 android:drawable="@mipmap/sample_1"
 android:duration="100" />
 <item
 android:drawable="@mipmap/sample_2"
 android:duration="100" />
 <item
 android:drawable="@mipmap/sample_3"
 android:duration="100" />
 <item
 android:drawable="@mipmap/sample_4"
 android:duration="100" />
 <item
 android:drawable="@mipmap/sample_5"
 android:duration="100" />
 <item
 android:drawable="@mipmap/sample_6"
 android:duration="100" />
</animation-list>

動畫列表(animation-list)由一個或者多個item節(jié)點組成,item節(jié)點用來聲明一個動畫幀
drawable: 該幀的圖片資源
duration : 播放時間 單位為毫秒
oneshot : 是否只播放一次,true表示只會播放一次,false表示一直循環(huán)播放

step 2:

利用ImageView作為播放載體

 <ImageView
 android:id="@+id/iv_ani"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:src="@drawable/sample_animlist" />


step3: 在Activity實現(xiàn)初始化 、暫停、播放。

public class MainActivity extends AppCompatActivity {

 private ImageView iv_ani;
 private AnimationDrawable mAnimationDrawable;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 iv_ani = (ImageView) findViewById(R.id.iv_ani);
 mAnimationDrawable = (AnimationDrawable) iv_ani.getDrawable();
 }

 @Override
 public void onWindowFocusChanged(boolean hasFocus) {
 super.onWindowFocusChanged(hasFocus);
 //window初始化完畢 開始播放動畫
 animationStart();
 }

 @Override
 protected void onPause() {
 animationStop();
 super.onPause();
 }

 private void animationStart() {
 if (null != mAnimationDrawable)
  mAnimationDrawable.start();//開始播放
 }

 private void animationStop() {
 if (null != mAnimationDrawable)
  mAnimationDrawable.stop();//暫停播放
 }
}

純Java方式實現(xiàn)

public class MainActivity extends AppCompatActivity {

 private ImageView iv_ani;
 private AnimationDrawable mAnimationDrawable;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 iv_ani = (ImageView) findViewById(R.id.iv_ani);
 initAnimationDrawable();
 }

 private void initAnimationDrawable(){
 mAnimationDrawable = new AnimationDrawable();
 for (int i = 1; i <= 4; i++) {
  int id = getResources().getIdentifier("sample_" + i, "mipmap", getPackageName());
  Drawable drawable = getResources().getDrawable(id);
  mAnimationDrawable.addFrame(drawable, 100);
 }
 mAnimationDrawable.setOneShot(false);
 iv_ani.setImageDrawable(mAnimationDrawable);

 }
}

addFrame(Drawable frame, int duration) : 添加一幀,并設(shè)置該幀顯示的持續(xù)時間

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android開發(fā)之Parcel機制實例分析

    Android開發(fā)之Parcel機制實例分析

    這篇文章主要介紹了Android開發(fā)之Parcel機制,實例分析了Parcel機制的原理與實現(xiàn)技巧,需要的朋友可以參考下
    2015-05-05
  • Android基于google Zxing實現(xiàn)二維碼的生成

    Android基于google Zxing實現(xiàn)二維碼的生成

    這篇文章主要介紹了Android基于google Zxing實現(xiàn)二維碼的生成的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Android編程之四種Activity加載模式分析

    Android編程之四種Activity加載模式分析

    這篇文章主要介紹了Android編程之四種Activity加載模式,簡要分析了Android編程中涉及的Activity的四種加載模式,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-01-01
  • Android自定義View手勢密碼

    Android自定義View手勢密碼

    這篇文章主要為大家詳細(xì)介紹了Android自定義View手勢密碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android為應(yīng)用添加數(shù)字角標(biāo)的簡單實現(xiàn)

    Android為應(yīng)用添加數(shù)字角標(biāo)的簡單實現(xiàn)

    應(yīng)用的角標(biāo)是用來標(biāo)記有多少條提醒沒讀,本篇文章主要介紹了Android為應(yīng)用添加角標(biāo)的簡單實現(xiàn),有興趣的可以了解一下。
    2017-04-04
  • Android使用OkHttp進(jìn)行網(wǎng)絡(luò)同步異步操作

    Android使用OkHttp進(jìn)行網(wǎng)絡(luò)同步異步操作

    這篇文章主要為大家詳細(xì)介紹了Android使用OkHttp進(jìn)行網(wǎng)絡(luò)同步異步操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android_RecyclerView實現(xiàn)上下滾動廣告條實例(帶圖片)

    Android_RecyclerView實現(xiàn)上下滾動廣告條實例(帶圖片)

    本篇文章主要介紹了Android_RecyclerView實現(xiàn)上下滾動廣告條實例(帶圖片),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 深入解析Android中的setContentView加載布局原理

    深入解析Android中的setContentView加載布局原理

    在日常開發(fā)Android中setContentView是必不可少的一部分,下面這篇文章主要給大家介紹了關(guān)于Android中setContentView的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)下吧。
    2017-09-09
  • Android studio 運行main 函數(shù)的方法

    Android studio 運行main 函數(shù)的方法

    這篇文章主要介紹了Android studio 運行main 函數(shù)的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Android多渠道打包神器ProductFlavor詳解

    Android多渠道打包神器ProductFlavor詳解

    最近一直在學(xué)習(xí)Android Gradle 相關(guān)的知識點,今天剛好看到了 ProductFlavor 這節(jié),ProductFlavor 的出現(xiàn)非常友好的幫助我們開發(fā)者解決了版本區(qū)分的問題
    2022-07-07

最新評論