android之frame动画详解
上一篇我們說(shuō)了android中的tween動(dòng)畫(huà),這一篇我們說(shuō)說(shuō)frame動(dòng)畫(huà),frame動(dòng)畫(huà)主要是實(shí)現(xiàn)了一種類(lèi)似于gif動(dòng)畫(huà)的效果,就是多張圖按預(yù)先設(shè)定好的時(shí)間依次連續(xù)顯示。
新建一個(gè)android項(xiàng)目,名字叫做frameTest,在res文件夾下新建一個(gè)文件夾叫做anim,我們的frame動(dòng)畫(huà)的xml文件就放在這里。
在anim中新建一個(gè)frame.xml文件,內(nèi)容如下:
這里是11圖片,前面的android:oneshot屬性表示該動(dòng)畫(huà)執(zhí)行的次數(shù),false表示該動(dòng)畫(huà)反復(fù)循環(huán)播放,true則表示該動(dòng)畫(huà)值播放一次,duration表示每張圖片顯示的時(shí)間,以毫秒計(jì)。
然后看看MainActivity中的代碼:
public class MainActivity extends Activity {private ImageView iv;private AnimationDrawable ad;@Overrideprotected 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)行,就先讓它停止下來(lái)if(ad.isRunning())ad.stop();ad.start();} }先拿到一個(gè)ImageView,然后把frame動(dòng)畫(huà)設(shè)置為它的背景,最后拿到這個(gè)圖片的背景并強(qiáng)轉(zhuǎn)為AnimationDrawable,當(dāng)點(diǎn)擊該圖片時(shí),如果動(dòng)畫(huà)已經(jīng)在運(yùn)行,就讓它先停止,再重新運(yùn)行,否則直接運(yùn)行即可。
轉(zhuǎn)載于:https://www.cnblogs.com/lenve/p/4517980.html
總結(jié)
以上是生活随笔為你收集整理的android之frame动画详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android的logcat详细用法
- 下一篇: TreeList右键菜单功能