我试图将缩放动画应用到我的列表中。我的想法是列表折叠到顶部,我这样做的方法是将Y轴缩放为空。但是动画未正确应用 - 列表在XML文件中列出的持续时间内消失,没有插值动画,然后在持续时间结束时重新出现。无论fillAfter设置为什么(这应该是真的,对吧?)都会发生这种情况。
为什么这不能正确插值,以及为什么它会在动画终止后再次出现?
动画文件:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:interpolator="@android:anim/accelerate_interpolator"
android:fromYScale="1.0"
android:toYScale="0.0"
android:duration="500"
android:pivotY="0"
android:fillAfter="true"
/>
</set>
我如何调用动画:
ListView list = (ListView) getView().findViewById(android.R.id.list);
Animation collapseList = AnimationUtils.loadAnimation(getActivity(), R.anim.collapse_search_results);
list.startAnimation(collapseList);
答案 0 :(得分:0)
好的,我通过将pivotX,fromXScale和toXScale值添加到我的XML文件来修复此问题。我需要它们,即使我没有沿着X轴缩放。
然而动画仍然没有存在,但是我想摆脱托管ListView的片段,所以我只是添加了一个侦听器来在动画结束时销毁片段。
我正在使用的XML文件:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:interpolator="@android:anim/accelerate_interpolator"
android:fromYScale="1.0"
android:toYScale="0.0"
android:fromXScale="1.0"
android:toXScale="1.0"
android:duration="400"
android:pivotY="0"
android:pivotX="0"
android:fillAfter="false"
/>
</set>