android - onConfigurationChanged后如何获取GridView的宽高

标签 android gridview configuration

我想在 onConfigurationChanged 之后获取 GridView 的宽度和高度,所以当我将设备从横向切换到纵向时,我想获取网格的新宽度和高度值

最佳答案

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

View 不会在 onResume() 中重绘 - 绘制 View 不是此生命周期的一部分 (http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle)。您需要使用 android.view.ViewTreeObserver.OnGlobalLayoutListener 以便在重新绘制 View 时收到通知。

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

关于android - onConfigurationChanged后如何获取GridView的宽高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14321260/

相关文章:

android - 为什么虚拟键盘没有正常关闭

java - 使用正则表达式提取字符串

android - 如何在 Android 中为棉花糖制作一个电话按钮

asp.net - 如何构建像 DataBound Templated Custom ASP.NET Server Control 这样的 GridView

mysql - yii2 gridView 仅显示唯一行

关于 "dynamic"变量的 Java 快速问题

java - J2EE 集群 : Is there a generic way to handle central configuration?

android - 程序类型已经存在 : com. google.common.util.concurrent.ListenableFuture

asp.net - 从异步调用加载 ASP.NET GridView

C#:管理多个 App.config 文件