您好,欢迎来到微智科技网。
搜索
您的当前位置:首页android windowmanager 动画,如何通过windowManager.UpdateViewLayout在没有任何动画的情况下移动视图?...

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

来源:微智科技网

LayoutParams lp = getLayoutParams(view);

lp.x = absoluteX;

lp.y = absoluteY;

this.mWindowManager.updateViewLayout(view, lp);

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

我尝试设置lp.windowAnimations = 0但它改变什么:( 任何想法,我该怎么办?

如果这是无法避免的动画,是他们没有办法知道实际?视图的位置,也许我可以使其不可见仍是真正的位置是不是absoluteX/absoluteY

注:

找了Android的源代码,我在文件WindowManager.java这ENTR看到y:

/**

* 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;

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

2016-09-24

loki

+0

你也许'removeView()',然后立即用更新'LayoutParams'添加回来。 –

+0

Mike M,有效地做RemoveView和AddView删除动画,但这真的是最好的办法吗?我看看Android源代码,我看到布局参数有PRIVATE_FLAG_NO_MOVE_ANIMATION和public int privateFlags;也许我必须玩这个? –

+0

我们通过回答这个问题解决了这个问题。使用反射来禁用私有标志动画。 http://stackoverflow.com/a/33171254/5053013 –

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务