android 布局实现旋转动画效果

我们可以让一个组件动起来,也可以让几个组件一起动起来,其实就是给五大布局设置动画即可。

那么,如何给Linearlayout等布局设置绚丽的动画呢?

首先,要使用一个类,LayoutAnimationController。

其次,调用一个方法,layout.setLayoutAnimation(),并非是setAnimation().

实现方法有两种,一种是在xml中的linearLayout设置android:layoutAnimation=“@anim/layoutanimation_layout”。

一种是在代码中控制,使用LayoutAnimationController类。

第一种实现方式:

anim文件夹中的两个动画文件:

layoutanimation_layout:

<?xml version="1.0" encoding="utf-8"?>
<LayoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
    android:animation="@anim/layoutanimation"
    android:animationOrder="random"
    android:delay="0.5" >

</LayoutAnimation>

layoutanimation:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <alpha
        android:duration="3000"
        android:fromAlpha="0"
        android:toAlpha="1" />

    <rotate
        android:duration="3000"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="360" />

</set>
第二种实现方式:

还是需要一个动画文件,如上,第二个文件,layoutanimation。

java代码:

//加载动画
		Animation anim = AnimationUtils.loadAnimation(this, R.anim.list_anim);
		lac = new LayoutAnimationController(anim);
		//设置顺序
		lac.setOrder(LayoutAnimationController.ORDER_REVERSE);
		//延时
		lac.setDelay(1);
		//布局设置动画
		layout.setLayoutAnimation(lac);




效果图:


通过这个例子证明动画效果却是非常耗费内存,需要展示绚丽的效果,则需要复杂的算法,cup的负担也就增大。

这里使用的是512M内存的设备测试,加载动画后他的内存使用率最高达到了83%,


而,没有加载动画,单单显示几行数据,他的内存使用率只有1%。差距是多么的大啊。



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值