您的位置:首页 > 其它

安卓视图动画+收缩与展开

2015-07-22 10:57 218 查看




最近需求 类似支付宝 余额宝中的一个 视图 根据动画 动态收缩和展开    其实很简单  废话不多说   上代码

头部红色布局  可以理解为三个不同的view  

中间布局 显示或隐藏动画 

 mExpandAnimation = AnimationUtils.loadAnimation(this, R.anim.expand);

mCollapseAnimation = AnimationUtils.loadAnimation(this, R.anim.collapse);

xml代码 expand :

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android" >

    

    <scale
android:duration="200"
android:fromXScale="1.0"
android:fromYScale="0.0"
android:pivotX="50%"
android:pivotY="0%"
android:toXScale="1.0"
android:toYScale="1.0"
android:fillAfter="true"/>

</set>

collapse:

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

    

    <scale

        android:duration="200"

        android:fromXScale="1.0"

        android:fromYScale="1.0"

        android:pivotX="50%"

        android:pivotY="0%"

        android:toXScale="1.0"

        android:toYScale="0.0" 

        android:fillAfter="true"

        />

</set>

底部布局移动动画 

 translateIn = new TranslateAnimation(0, 0, 1f, 0f);
    translateIn.setDuration(200);
    translateIn.setFillAfter(true);

  
    translateOut = new TranslateAnimation(0, 0, 0f, 1f);
    translateIn.setDuration(200);
    translateIn.setFillAfter(true);

为了动态实现  最主要的是一个监听事件

translateIn.setAnimationListener(new AnimationListener() 

在onAnimationEnd方法中  显示or隐藏头部中间布局

希望能有点帮助
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息