如何在onConfigurationChanged之后获取GridView的宽度和高度

时间:2013-01-14 15:21:38

标签: android gridview configuration

我希望在onConfigurationChanged之后获得GridView的宽度和高度,所以当我将我的设备从横向摇摆到肖像时,我想获得网格的新宽度和高度值

1 个答案:

答案 0 :(得分:1)

请参阅How to get NEW width/height of root layout in onConfigurationChanged?

视图未在onResume()中重绘 - 绘制视图不属于此生命周期的一部分(http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle)。重新绘制视图时,您需要使用android.view.ViewTreeObserver.OnGlobalLayoutListener通知。

但是请注意,我发现这种方法并不总是按预期工作。在配置更改(旋转)之后,如果我不删除侦听器,则该方法将触发3次 - 前2个具有旧值,第3次具有新值。如果我在收到通知后立即删除了监听器,我仍然会得到旧的值。 (但是如果你不删除监听器,你可能需要实现一些黑客攻击以防止代码再次运行。)