gpt4 book ai didi

flutter - 如何覆盖单个小部件的主题?

转载 作者:行者123 更新时间:2023-12-05 01:35:47 24 4
gpt4 key购买 nike

我的 Flutter 应用有主题,在 TextFields 周围添加了边框:

ThemeData(
...
inputDecorationTheme: InputDecorationTheme(
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(width: 1.0),
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(width: 1.0),
),
)

但是,我确实有一个不需要边框的 TextField,因此我尝试覆盖 TextField 中的边框:

TextField(
decoration: InputDecoration.collapsed(
hintText: _hintText,
border: InputBorder.none,
),
controller: _textController,
),

但我仍然得到边界?下面是部分图片。 “请输入!”字段使用主题默认值,“问题”字段是我要覆盖的字段。

enter image description here

最佳答案

Theme 包裹你想覆盖的那个小部件并为数据属性放置一个新的 ThemeData 小部件。

return MaterialApp(
theme: ThemeData(
primarySwatch: Colors.orange,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: Scaffold(
body: Column(children: [
TextFormField(), // Takes the theme of the overall MaterialApp
Theme(
data: ThemeData(
primarySwatch: Colors.blue,
),
child: TextFormField(), // Takes the theme of its direct parent
),
]),
),
);

这个基本示例只是改变颜色,所以使用您喜欢的任何 ThemeData。

关于flutter - 如何覆盖单个小部件的主题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62647421/

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