颤动方向改变布局景观优化
flutter orientation change layout landscape optimize
我在纵向模式下设计了布局,一切看起来都很好。因此,在我完成覆盖后,我将设备旋转到横向模式并看到底部溢出。高度上的小部件太多,因此设备无法显示它们。我在网上搜索了一种优化横向模式布局的常用方法,但没有发现任何适用于 flutter 的方法。那么有没有什么通用的方法可以用flutter解决这个问题呢?
您的问题可能更具体一些 - 有关应用程序的一些详细信息或屏幕截图会有所帮助。
不过,我可以想到三种不同的方案来解决这个问题。
水平和垂直屏幕使用不同的小部件。
亲:您可以确保您的屏幕完全符合您的要求。
con:你必须写两次。如果您的逻辑是封装的,虽然这可能只是意味着以 2 种不同的方式布置相同的小部件。
您可以自己编写查询,也可以使用 flutter 内置的 OrientationBuilder class。
使用 Wrap class 而不是 row/column 并适当对齐。这将允许您的小部件根据需要自行对齐以填充可用 space。请参阅下面显示此示例的屏幕截图:
以上屏幕截图是使用 wrap documentation.
中的示例代码创建的
使用相同的视图,但将其放在 listview or a scrollable 中,以便在溢出时可以滚动。不过,在这种情况下,您最好仔细阅读文档,以便了解滚动如何在 flutter 中工作以及相关的限制。
我在纵向模式下设计了布局,一切看起来都很好。因此,在我完成覆盖后,我将设备旋转到横向模式并看到底部溢出。高度上的小部件太多,因此设备无法显示它们。我在网上搜索了一种优化横向模式布局的常用方法,但没有发现任何适用于 flutter 的方法。那么有没有什么通用的方法可以用flutter解决这个问题呢?
您的问题可能更具体一些 - 有关应用程序的一些详细信息或屏幕截图会有所帮助。
不过,我可以想到三种不同的方案来解决这个问题。
水平和垂直屏幕使用不同的小部件。
亲:您可以确保您的屏幕完全符合您的要求。
con:你必须写两次。如果您的逻辑是封装的,虽然这可能只是意味着以 2 种不同的方式布置相同的小部件。
您可以自己编写查询,也可以使用 flutter 内置的 OrientationBuilder class。
使用 Wrap class 而不是 row/column 并适当对齐。这将允许您的小部件根据需要自行对齐以填充可用 space。请参阅下面显示此示例的屏幕截图:
以上屏幕截图是使用 wrap documentation.
中的示例代码创建的
使用相同的视图,但将其放在 listview or a scrollable 中,以便在溢出时可以滚动。不过,在这种情况下,您最好仔细阅读文档,以便了解滚动如何在 flutter 中工作以及相关的限制。