欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android逐幀動(dòng)畫實(shí)現(xiàn)代碼

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

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

xml方式實(shí)現(xiàn):

step 1 : 在res/drawable目錄下一個(gè)文件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>

動(dòng)畫列表(animation-list)由一個(gè)或者多個(gè)item節(jié)點(diǎn)組成,item節(jié)點(diǎn)用來聲明一個(gè)動(dòng)畫幀
drawable: 該幀的圖片資源
duration : 播放時(shí)間 單位為毫秒
oneshot : 是否只播放一次,true表示只會(huì)播放一次,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實(shí)現(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初始化完畢 開始播放動(dòng)畫
 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方式實(shí)現(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ù)時(shí)間

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

相關(guān)文章

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

    Android開發(fā)之Parcel機(jī)制實(shí)例分析

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

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

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

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

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

    Android自定義View手勢密碼

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

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

    應(yīng)用的角標(biāo)是用來標(biāo)記有多少條提醒沒讀,本篇文章主要介紹了Android為應(yīng)用添加角標(biāo)的簡單實(shí)現(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ò)同步異步操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android_RecyclerView實(shí)現(xiàn)上下滾動(dòng)廣告條實(shí)例(帶圖片)

    Android_RecyclerView實(shí)現(xiàn)上下滾動(dòng)廣告條實(shí)例(帶圖片)

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

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

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

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

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

    Android多渠道打包神器ProductFlavor詳解

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

最新評論