我有一个添加了getWindowManager().addView()的视图(自定义绘制),后来我修改了它的LayoutParameters(更改x&width)并调用getWindowManager().updateViewLayout()。这很有效,但是我得到了两个屏幕刷新,第一个只是根据新的x移动整个东西,然后一个根据新的宽度缩放它。即使我只使用新的布局参数调用一次updateViewLayout,为什么会发生这种情况呢?
仅供参考:在此过程中,系统仅调用此处提到的自定义绘制视图的onDraw方法一次。

最佳答案

尝试:

runOnUiThread(new Runnable() {
      public void run() {
          view.updateViewLayout();
       }
    });

http://developer.android.com/reference/android/app/Activity.html#runOnUiThread(java.lang.Runnable)
如果不起作用,请检查:
How to move a view in Android?
你在做这个吗?

07-24 14:23