如何强制视图重新计算其尺寸
How to force a view to recalculate its dimensions
我正在尝试创建一个视图以根据需要重新计算其尺寸。我有一个使用宽度 and/or 高度和 ?attr:actionBarSize
值的视图(它可以是根据屏幕方向变化的任何变量),但是一旦在启动该视图的应用程序后绘制视图永远不会在用户旋转屏幕后根据屏幕方向重新计算该值。
是否可以通过读取新值来强制视图重新计算其尺寸,或者是否可以通过创建允许这样做的自定义视图来实现 和 导致所有其子视图根据父视图更改重新计算其尺寸?
忘记包含一个重要细节; Activity无法重启,recreate()
无法使用。
看来 Android 没有提供任何方法来做到这一点,所以我被迫手动更改视图并迭代所有子视图并手动更改它们。
我正在尝试创建一个视图以根据需要重新计算其尺寸。我有一个使用宽度 and/or 高度和 ?attr:actionBarSize
值的视图(它可以是根据屏幕方向变化的任何变量),但是一旦在启动该视图的应用程序后绘制视图永远不会在用户旋转屏幕后根据屏幕方向重新计算该值。
是否可以通过读取新值来强制视图重新计算其尺寸,或者是否可以通过创建允许这样做的自定义视图来实现 和 导致所有其子视图根据父视图更改重新计算其尺寸?
忘记包含一个重要细节; Activity无法重启,recreate()
无法使用。
看来 Android 没有提供任何方法来做到这一点,所以我被迫手动更改视图并迭代所有子视图并手动更改它们。