在 Flutter 中更改 Drawer 小部件的顶部颜色

Posted

技术标签:

【中文标题】在 Flutter 中更改 Drawer 小部件的顶部颜色【英文标题】:Change top color on Drawer widget in Flutter 【发布时间】:2020-12-04 18:17:06 【问题描述】:

我想知道如何更改我的Drawer 打开时看到的最上面的颜色?

在下图中,您可以看到两个箭头,1 和 2。箭头 2 指向我的主屏幕,即我的 primaryColor,并且在除抽屉之外的所有屏幕上都正确显示。

我想要一个全白的抽屉,想去掉顶部的灰色。

【问题讨论】:

【参考方案1】:

我认为这可以通过删除 ListView 的填充来解决您的问题。

drawer: new Drawer(
  child: new ListView(
    padding: const EdgeInsets.all(0.0),
    children: <Widget>[
       ......
    ]
  ),
),

【讨论】:

【参考方案2】:

用 SafeArea 小部件包裹您的抽屉

【讨论】:

【参考方案3】:

我也有这个我的应用程序, 我将 ListView 更改为 Column 并且它有效。通常,我们不会在 Drawer 中保留太多,所以 Column 对我有用。

drawer: new Drawer(
child: new Column(                  ///here change ListView to Column
padding: const EdgeInsets.all(0.0),
children: <Widget>[
   ......
]

), ),

【讨论】:

以上是关于在 Flutter 中更改 Drawer 小部件的顶部颜色的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:导航时“小部件树中的多个全局键”

将 Json 数据解析为现有的 Flutter 小部件

Flutter:在 Drawer 中更改 body 时保留状态

Flutter - 无法从父小部件更改子状态

从另一个小部件更改一个小部件中的状态

Flutter:通过小部件树传递列表实例->不更改列表中实例的值