关闭

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

783人阅读 评论(0) 收藏 举报
分类:
fillBefore是指动画结束时画面停留在第一帧,fillAfter是指动画结束是画面停留在最后一帧。最关键的问题是,这2个参数不能在xml中设置,这是没有用的。必须在java代码中设置。比如
setFillAfter(true);
  setFillBefore(false);

这样动画结束时,停在最后一帧。



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

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

[xhtml] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <set xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:fillEnabled="true"  
  4.     android:fillAfter="true">  
  5.     <translate    
  6.         android:interpolator="@android:anim/cycle_interpolator"  
  7.         android:fromXDelta="0"  
  8.         android:toXDelta="200"  
  9.         android:fromYDelta="0"  
  10.         android:toYDelta="-50"  
  11.         android:duration="10000"  
  12.         >   
  13.     </translate>   
  14.    
  15. </set>  


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

自己犯的错误在于将android:fillEnabled="true"和android:fillAfter="true"写在了t ranslate下面了,所以没有起作用。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:669148次
    • 积分:10340
    • 等级:
    • 排名:第1744名
    • 原创:313篇
    • 转载:765篇
    • 译文:1篇
    • 评论:48条