Android上一个动画效果的实现与优化

来源:互联网 发布:网络用语whf什么意思 编辑:程序博客网 时间:2024/06/05 18:51

1、背景介绍

       这个好像没有太多需要解释的地方,就是我们在进行网络请求的时候会有一个加载图,这里我们常常使用很多张图片形成一个动画,等数据加载完毕之后就影藏或者销毁。


2、实现方式

      提供一个最原始的实现方式,代码多一些,不过不难理解,直接贴出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="@drawable/loading_0"  android:duration="100"/><item android:drawable="@drawable/loading_1"  android:duration="100"/><item android:drawable="@drawable/loading_2"  android:duration="100"/><item android:drawable="@drawable/loading_3"  android:duration="100"/><item android:drawable="@drawable/loading_4"  android:duration="100"/><item android:drawable="@drawable/loading_5"  android:duration="100"/><item android:drawable="@drawable/loading_6"  android:duration="100"/><item android:drawable="@drawable/loading_7"  android:duration="100"/><item android:drawable="@drawable/loading_8"  android:duration="100"/><item android:drawable="@drawable/loading_9"  android:duration="100"/><item android:drawable="@drawable/loading_10" android:duration="100"/><item android:drawable="@drawable/loading_11" android:duration="100"/>    </animation-list>

实际上这里是使用了一个animation-list,使用了12张图片,形成一个动画的效果。


3、优化方式

       在上面的那种方式中,虽然代码没什么问题,但是有个问题会比较糟糕,就是图片多了容易占内存,所以就会想着,能不能实现一张图片转圈,而不要使用多张图片转换呢?那么答案是可行的,这里提供一种方式如下:

<?xml version="1.0" encoding="utf-8"?><animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"    android:drawable="@drawable/loading_0"    android:pivotX="50%"    android:pivotY="50%"/>

4、总结

       上面的代码读者最好是亲身测试,我发现这种优化方式,在有的机器上没问题,而部分机器好像并不能实现我们想要的效果,读者应该自己做一个测试。

0 0
原创粉丝点击