我有一张卡,可以点击打开或关闭DND。目前,在卡上,我有一串文字,显示“ DND ON”或“ DND OFF”。我想要实现的是在“ DND ON”下方添加较小的字体和斜体:““警报,媒体,触摸声音”。
我的裸露代码:
Card(
color: Color.fromARGB(255, 76, 175, 80),
elevation: 5.0,
child: InkWell(
splashColor: Colors.blueGrey,
onTap: () {
setState(() {
pressed = !pressed;
});
pressed ? _dndOn() : _dndOff();
},
child: Center(
child: Text(
pressed ? ('DND ON') : ('DND OFF'),
style: TextStyle(
color: Colors.white,
fontSize: 25.0,
),
),
),
),
),
我尝试的方法:我尝试使用TextTheme在RichText中定义我的字符串,并创建具有各种样式的文本列。每次出现错误,例如“类型'列'不是类型'String'的子类型”或“类型'RichText'不是类型'String'的子类型等
您对我如何实现自己想要的东西有任何想法吗?
答案 0 :(得分:1)
您不能使用column widget作为“文本”小部件的text属性。您需要以一种方式使用它来定义要保留的子级列表,在这种情况下,这是文本小部件的列表。
Card(
color: Color.fromARGB(255, 76, 175, 80),
elevation: 5.0,
child: InkWell(
splashColor: Colors.blueGrey,
onTap: () {
setState(() {
pressed = !pressed;
});
pressed ? _dndOn() : _dndOff();
},
child: Center(
child: Column(
children: [
Text(
pressed ? 'DND ON' : 'DND OFF',
style: TextStyle(
color: Colors.white,
fontSize: 25.0,
),
),
Text(
'Alarms, Media, Touch Sounds',
style: TextStyle(
color: Colors.white,
fontSize: 16.0,
),
),
],
),
),
),
),