gpt4 book ai didi

Flutter 响应式设计 : Dynamically change Column to Row if the screen is larger

转载 作者:IT王子 更新时间:2023-10-29 06:48:42 25 4
gpt4 key购买 nike

如果设备的屏幕宽度超过某个阈值,如何将 Column widget 动态更改为 Row Widget?

用例是当用户在平板电脑或横向模式下使用应用程序时,布局应该不同以优化可用宽度的使用。

在 CSS flexbox 中,它就像将类从 flex-row 更改为 flex-column 一样简单,但在 Flutter 中,使用了小部件。

最佳答案

RowColumn 共享一个名为 Flex 的公共(public)父级,该父级采用轴方向。只需更改 direction 的值,您就可以将 Flex 更改为行或列。

要获取屏幕宽度,您可以使用 MediaQuery.of(context).size.width

您的小部件应如下所示:

@override
Widget build(BuildContext context) {
bool isScreenWide = MediaQuery.of(context).size.width >= kMinWidthOfLargeScreen;

return Scaffold(
body: Flex(
direction: isScreenWide ? Axis.horizontal : Axis.vertical,
children: <Widget>[
...
],
)
);
}

关于Flutter 响应式设计 : Dynamically change Column to Row if the screen is larger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56202583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com