Android基礎(chǔ)知識(shí)之frame動(dòng)畫效果
上一篇我們說了Android中的tween動(dòng)畫,這一篇我們說說frame動(dòng)畫,frame動(dòng)畫主要是實(shí)現(xiàn)了一種類似于gif動(dòng)畫的效果,就是多張圖按預(yù)先設(shè)定好的時(shí)間依次連續(xù)顯示。
新建一個(gè)android項(xiàng)目,名字叫做frameTest,在res文件夾下新建一個(gè)文件夾叫做anim,我們的frame動(dòng)畫的xml文件就放在這里。
在anim中新建一個(gè)frame.xml文件,內(nèi)容如下:
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"><!-- true表示只播放一次,false表示無限循環(huán)播放 --> <item android:drawable="@drawable/girl_1" android:duration="100" /> <item android:drawable="@drawable/girl_2" android:duration="100" /> <item android:drawable="@drawable/girl_3" android:duration="100" /> <item android:drawable="@drawable/girl_4" android:duration="100" /> <item android:drawable="@drawable/girl_5" android:duration="100" /> <item android:drawable="@drawable/girl_6" android:duration="300" /> <item android:drawable="@drawable/girl_7" android:duration="400" /> <item android:drawable="@drawable/girl_8" android:duration="300" /> <item android:drawable="@drawable/girl_9" android:duration="100" /> <item android:drawable="@drawable/girl_10" android:duration="100" /> <item android:drawable="@drawable/girl_11" android:duration="100" /> </animation-list>
這里是11圖片,前面的android:oneshot屬性表示該動(dòng)畫執(zhí)行的次數(shù),false表示該動(dòng)畫反復(fù)循環(huán)播放,true則表示該動(dòng)畫值播放一次,duration表示每張圖片顯示的時(shí)間,以毫秒計(jì)。
然后看看MainActivity中的代碼:
public class MainActivity extends Activity {
private ImageView iv;
private AnimationDrawable ad;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) this.findViewById(R.id.iv);
// iv.setBackgroundResource(R.anim.frame);
// ad = (AnimationDrawable) iv.getBackground();
//上面兩句,可以用下面兩句代替,效果是一樣的
iv.setImageResource(R.anim.frame);
ad = (AnimationDrawable) iv.getDrawable();
}
public void start(View v){
//如果ad正在運(yùn)行,就先讓它停止下來
if(ad.isRunning())
ad.stop();
ad.start();
}
}
先拿到一個(gè)ImageView,然后把frame動(dòng)畫設(shè)置為它的背景,最后拿到這個(gè)圖片的背景并強(qiáng)轉(zhuǎn)為AnimationDrawable,當(dāng)點(diǎn)擊該圖片時(shí),如果動(dòng)畫已經(jīng)在運(yùn)行,就讓它先停止,再重新運(yùn)行,否則直接運(yùn)行即可。
原文鏈接:http://blog.csdn.net/u012702547/article/details/45716757
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android數(shù)據(jù)庫greenDAO配置與使用介紹
這篇文章主要介紹了Android集成GreenDao數(shù)據(jù)庫,使用數(shù)據(jù)庫存儲(chǔ)時(shí)候,一般都會(huì)使用一些第三方ORM框架,比如GreenDao,本文分幾步給大家介紹Android集成GreenDao數(shù)據(jù)庫的方法,需要的朋友可以參考下2023-03-03
Android實(shí)現(xiàn)可點(diǎn)擊的幸運(yùn)大轉(zhuǎn)盤
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)可點(diǎn)擊的幸運(yùn)大轉(zhuǎn)盤,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
Kotlin RadioGroup與ViewPager實(shí)現(xiàn)底層分頁按鈕方法
安卓的控件是挺多的,沒有辦法一個(gè)一個(gè)的來說明,我們挑出了一些重點(diǎn)的控件,組成一些常見的布局,這樣以后在遇到相同功能的界面時(shí),就會(huì)有自己的思路,或者進(jìn)行復(fù)用2022-12-12
Android開發(fā)Jetpack組件LiveData使用講解
LiveData是Jetpack組件的一部分,更多的時(shí)候是搭配ViewModel來使用,相對(duì)于Observable,LiveData的最大優(yōu)勢(shì)是其具有生命感知的,換句話說,LiveData可以保證只有在組件( Activity、Fragment、Service)處于活動(dòng)生命周期狀態(tài)的時(shí)候才會(huì)更新數(shù)據(jù)2022-08-08
基于Android studio3.6的JNI教程之opencv實(shí)例詳解
這篇文章主要介紹了基于Android studio3.6的JNI教程之opencv實(shí)例詳解,本文通過實(shí)例代碼截圖的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
Android 超詳細(xì)深刨Activity Result API的使用
這篇文章主要介紹了Android開發(fā)中Activity Result API的使用,掌握了它以后你就可以放棄startActivityForResult了,感興趣的朋友一起來看看吧2022-03-03
Android自定義ImageView實(shí)現(xiàn)圓角功能
這篇文章主要為大家詳細(xì)介紹了Android自定義ImageView實(shí)現(xiàn)圓角功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
monkeyrunner環(huán)境搭建及實(shí)例教程(3)
這篇文章主要為大家詳細(xì)介紹了monkeyrunner環(huán)境搭建及實(shí)例教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
Android ListView物流獲取追蹤功能實(shí)現(xiàn)
這篇文章主要介紹了Android ListView物流獲取追蹤功能實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2016-03-03

