【问题标题】:ListView with Expanded in Flutter在 Flutter 中展开的 ListView
【发布时间】:2021-01-25 12:50:47
【问题描述】:

我想根据屏幕尺寸创建具有固定尺寸小部件和其他变量的界面。

在大屏幕上,所有小部件都可以顺利放置,我希望将按钮放在底部,其余的放在剩余空间的中心。

在较小的屏幕上,小部件不适合一个在另一个之下,我希望它可以垂直滚动。

注意:下面显示的图片大小必须至少为 100 像素,最大为屏幕宽度的一半。

expected result

【问题讨论】:

    标签: flutter dart flutter-layout flutter-listview


    【解决方案1】:

    这不是问题...在同一个 dart 中创建两个不同的布局...

    你有起始码吗?

    只是给你一个提示......如果你从脚手架开始......那么......

    Scaffold(
    body: MediaQuery.of(context).size.width <= 100 ? 
    <here you write layout for small screen> 
    : 
    <here you write layout for big screen>
    

    【讨论】:

    • 这不可能是自动的,从子小部件本身的最小和最大测量开始而不是定义条件?这种情况并非在所有情况下都适用,例如如果系统的字体大小较大会发生什么情况?
    • 不,您确实要求它表现不同,因此您必须描述它的不同之处,这意味着两种布局......现在您可以将 MediaQuery 拉到一个布局中,然后只组织部分。 ..你只需要继续你所做的准备工作并制定布局渲染计划。
    • 我了解,但在您的示例中条件 MediaQuery.of (context) .size.width
    • Flutter 会为您解决这个问题,100 不是 100 像素,它涉及 dpi 和字体大小等。MediaQuery 从屏幕获取值,与您正在创建的小部件无关,除了您应该可能根据可用的屏幕房地产调整小部件的大小。
    • 这是否包括更改长文本的高度,如预期结果的图像所示?也就是说,例如,当它从 2 行变为 3 行时。
    猜你喜欢
    • 1970-01-01
    • 2019-05-03
    • 2019-12-15
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多