我有一个活动 (A) 在计算后启动另一个活动 (B)。我的问题是,当 Activity B 启动时,应该在大小增加(从 0.33 缩放到 1)的同时从左向右移动的箭头可绘制对象在开始补间动画之前首先显示很短的时间. 最终结果是在开始动画之前,全尺寸可绘制对象出现令人烦恼的闪烁。
一切似乎都表明问题与动画文件(.xml)有关,而不是与 java 类有关。arrowImage.startAnimation(arrowExtent);
当我删除以下代码中的行时,可以观察到这一点:
protected void arrowAnimation(Animation arrowExtent) {
// TODO Auto-generated method stub
arrowImage.setImageResource(R.drawable.arrowimage);
arrowImage.startAnimation(arrowExtent);
arrowExtent.setFillAfter(true);
我尝试了以下方法:
- 对 Drawable 对象使用 setImageDrawable 而不是 setImageResource。
- 环境
arrowImage.setFillBefore(false);
任何建议将不胜感激。
动画xml如下:
<?xml version="1.0" encoding="utf-8"?>
<set android:interpolator="@android:anim/accelerate_decelerate_interpolator">
<scale
android:fromXScale="0.33"
android:toXScale="1.0"
android:fromYScale="0.0"
android:toYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="0"
android:duration="1000"
android:fillBefore="false" />
<translate
android:fromXDelta="0%"
android:toXDelta="75%p"
android:duration="1000" />
</set>