如何在我的比例动画中停止闪烁?

时间:2013-04-24 06:23:11

标签: android xml android-animation flicker

我有一个PopupWindow我使用PopupWindow.setAnimationStyle();在两个弹出窗口之间进行切换。 swoping和动画工作。但是当我将x值从0缩放到1或从1缩放到0时,它就会闪烁。

例如,这将闪烁:

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:duration="300" >
    <scale
        android:pivotX="50%"
        android:fromXScale="1" android:toXScale="0"
        android:fromYScale="1" android:toYScale="1" />
</set>

但这不会:

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:duration="300" >
    <scale
        android:pivotX="50%"
        android:fromXScale="0.9" android:toXScale="0.1"
        android:fromYScale="1" android:toYScale="1" />
</set>

为什么这种闪烁以及如何使其不闪烁?

这可能是我的设备,但我必须让它在此设备上不闪烁。 我有一个三星Galaxy tab 2 10.1

1 个答案:

答案 0 :(得分:0)

尝试添加最小值的延迟属性

android:startOffset="1"

这意味着动画会更快,可以减少闪烁。像,

 <scale
        android:pivotX="50%"
        android:fromXScale="0.9" android:toXScale="0.1"
        android:fromYScale="1" android:toYScale="1" 
        android:startOffset="1"/>

同时检查this post说,启用硬件加速,它对我没有用,但我能够通过调整延迟和持续时间值来解决问题。您的pivotY属性的价值是多少?

希望这有帮助,如果您已经解决了问题,请分享解决方案。