0

我有一个使用 WebView 进行自定义旋转处理的活动。问题是由于方向更改,我需要在重新绘制布局后触发一个事件。在我的旋转处理程序中,我正在检测比 webview 更宽的元素。在 onConfigurationChanged 中触发此处理程序时,尚未重新计算视图大小,因此我在旋转之前获得了宽度。

我有两个不好的解决方案:

  • 从其他屏幕尺寸和所有填充和其他视图以编程方式计算尺寸,但它太复杂且无效。
  • 用一些超时触发处理程序,但是长时间超时很丑陋,而短超时不可靠。

重绘布局后是否触发了一些事件?

提前致谢。

4

1 回答 1

1

怎么样View.onAttachedToWindow()

如果这不起作用(文档说它甚至可能在之前被调用onMeasure(),所以我不确定时间和频率是否适合您的需求),您可以通过扩展您使用的 View 对象之一来挂钩布局过程,并覆盖View.onLayout以安排 UI 线程回调。不过,我会为多次出现做准备。

于 2013-02-21T14:26:21.733 回答