2

我有一个PopupWindow用来PopupWindow.setAnimationStyle();在两个弹出窗口之间切换的地方。扫荡和动画作品。但是当我将 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

4

1 回答 1

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"/>

还要检查这篇文章说,启用硬件加速,它对我不起作用,但我能够通过调整延迟和持续时间值来解决这个问题。您的 pivotY 属性的值是多少?

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

于 2016-06-13T07:09:47.517 回答