您的位置:首页 > 移动开发 > Android开发

android动画中fillBefore以及fillAfter在xml中设置无效的问题

2015-07-07 23:48 525 查看
fillBefore是指动画结束时画面停留在第一帧,fillAfter是指动画结束是画面停留在最后一帧。最关键的问题是,这2个参数不能在xml中设置,这是没有用的。必须在java代码中设置。比如
setFillAfter(true);
  setFillBefore(false);
这样动画结束时,停在最后一帧。

//---------------------------------------------

网上很多人都说android:fillAfter="true"这一属性在xml中设置使动画保持在播放的最后一帧不起作用,只能通过java代码来实现,其实这是一种误导。主要是在加这一属性的时候必须加在<set>标签这里才起作用,代码如下:

[xhtml] view
plaincopy

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

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

    android:fillEnabled="true"  

    android:fillAfter="true">  

    <translate    

        android:interpolator="@android:anim/cycle_interpolator"  

        android:fromXDelta="0"  

        android:toXDelta="200"  

        android:fromYDelta="0"  

        android:toYDelta="-50"  

        android:duration="10000"  

        >   

    </translate>   

   

</set>  

//-----------------------------

自己犯的错误在于将android:fillEnabled="true"和android:fillAfter="true"写在了t ranslate下面了,所以没有起作用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: