美文网首页
解决属性动画无效,插值器值不变的问题

解决属性动画无效,插值器值不变的问题

作者: DorisSunny | 来源:发表于2017-04-07 20:09 被阅读0次

    问题点:假设利用属性动画实现一个左右移动的动画效果,设置插值器之后,动画效果没有一个移动过程的效果。

    追踪: 通过获取插值器的"getInterpolation"方法,监听随着时间的变化,input值以及返回值的变化,如果返回值一直都没有改变那么就说明插值器设置不起作用,所以才没有移动过程的效果。

    分析原因: 应该是当前你的设备 的 开发者选项中Animation duration scale 选项是关闭的。

    解决方法: ① 你可以打开“开发者选项”中的“Animation duration scale" 。
    ② 通过代码打开: 代码如下

    private IWindowManager  mWindowManager;
    
    private static final int INDEX_ANIMATOR_DURATION_SCALE = 2;
    
    private void setAnimationScaleOption(int which) {
      mWindowManager = IWindowManager.Stub.asInterface(ServiceManager.getService("window"));
        try {
            float scale = 1;
            mWindowManager.setAnimationScale(which, scale);
        } catch (RemoteException e) {
        }
    }
    
    \\调用
     setAnimationScaleOption(INDEX_ANIMATOR_DURATION_SCALE);
    

    相关文章

      网友评论

          本文标题:解决属性动画无效,插值器值不变的问题

          本文链接:https://www.haomeiwen.com/subject/cefkattx.html