Android開發(fā)中如何讓Gif動(dòng)畫動(dòng)起來,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
10年積累的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有白山免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
我們已經(jīng)連續(xù)推出《如何實(shí)現(xiàn)TCP和UDP傳輸》、《“Android UI”設(shè)計(jì)官方教程》多個(gè)Android開發(fā)教程,本文將為講解Android中Gif圖片播放的教程。Android 中是不支持直接使用Gif 圖片關(guān)聯(lián)播放幀動(dòng)畫,如下動(dòng)畫在Android 中是無法播放的:
Android 提供了另外一種解決的辦法,就是使用AnimationDrawable 這一函數(shù)使其支持逐幀播放,但是如何把gif 圖片打散開來,成為每一幀的圖片呢?下面介紹兩種比較不錯(cuò)的軟件,可以幫我們打散圖片。
gifsplitter2.0
下載地址:gif分割
使用方法如下:
這一軟件分割圖片都是bmp圖片,圖片比較大,這里不推薦使用,盡量節(jié)省不必要的字節(jié),所以這里推薦使用如下 軟件
easygifanimator
軟件下載:動(dòng)畫分割器
使用方法如下:
點(diǎn)擊文件將幀文件導(dǎo)出即可
得到了幀文件后我們可以就編寫代碼,在res目錄下新建anim動(dòng)畫文件夾,寫下如下代碼
對應(yīng)的item 為順序的圖片從開始到結(jié)束,duration為每張逐幀播放間隔,oneshot 為false 代表循環(huán)播放,設(shè)置為true 即播放一次即停止。
對應(yīng)Activity 代碼如下編寫:
import android.app.Activity; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; public class animActivity extends Activity implements OnClickListener { ImageView iv = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); iv = (ImageView) findViewById(R.id.ImageView01); iv.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub AnimationDrawable anim = null; Object ob = iv.getBackground(); anim = (AnimationDrawable) ob; anim.stop(); anim.start(); } }
使用AnimationDrawable 對象獲得圖片的圖片,然后指定這個(gè)AnimationDrawable 開始播放動(dòng)畫
Tip:使用此方法不會(huì)默認(rèn)播放,必須要有事件觸發(fā)才可播放動(dòng)畫,如上面的通過點(diǎn)擊監(jiān)聽觸發(fā)動(dòng)畫的播放
那么如何使用圖片自動(dòng)播放呢?我們可以聯(lián)想一下,ProgressBar 是不是默認(rèn)的時(shí)候就會(huì)轉(zhuǎn),那就是那個(gè)圓形的進(jìn)度條,是的。我們可以對它進(jìn)行改造合它也可以自動(dòng)播放,在Values 文件下新建一個(gè)styles 文件,編寫如下代碼 :
上面樣式文件自Widget.ProgressBar.Large 為其設(shè)置動(dòng)畫文件,我們在XML中就可以通過設(shè)置它的樣式使其為我們工作
OK,就是這么簡單,下面看看運(yùn)行效果:
關(guān)于Android開發(fā)中如何讓Gif動(dòng)畫動(dòng)起來問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。