如何在没有任何动画的情况下通过 windowManager.UpdateViewLayout 移动视图?

lok*_*oki 5 android android-animation android-windowmanager

当我做 :

    LayoutParams lp = getLayoutParams(view);
    lp.x = absoluteX;
    lp.y = absoluteY;
    this.mWindowManager.updateViewLayout(view, lp);
Run Code Online (Sandbox Code Playgroud)

然后我有一个从视图所在位置到新位置 absoluteX/absoluteY 的线性动画。如何在没有任何动画的情况下移动视图?

我尝试设置lp.windowAnimations = 0但它没有任何改变:( 知道我该怎么做吗?

如果无法避免动画,他们有什么方法可以知道视图的实际位置吗?也许我可以让它不可见,但实际位置不是绝对X/绝对Y

笔记:

查看android的源代码,我在文件WindowManager.java中看到了这个条目:

     /**
     * Never animate position changes of the window.
     *
     * {@hide} */
    public static final int PRIVATE_FLAG_NO_MOVE_ANIMATION = 0x00000040;

    /**
     * Control flags that are private to the platform.
     * @hide
     */
    public int privateFlags;
Run Code Online (Sandbox Code Playgroud)

它看起来是我需要的,但我不知道如何访问和设置这样的标志 :( 知道吗?

Jam*_*mal 1

尝试禁用布局动画:

android:animateLayoutChanges="false"
Run Code Online (Sandbox Code Playgroud)