提问人:Stéphane de Luca 提问时间:11/1/2023 更新时间:11/2/2023 访问量:35
当 ElevatedButton 文本样式的子样式是 flutterhttps://stackoverflow.com/questions/ask 中的 ListTile 时,如何使用
How to use ElevatedButton text style when its child is a ListTile in flutterhttps://stackoverflow.com/questions/ask
问:
出于设计目的,我需要一个与背景颜色相同的可点击对象,并且由于用户可以从应用程序中选择自己的主题,因此我需要标题和副标题颜色与按钮的文本相同,以便每个主题的对比度都可以(我的意思是当主题是黑暗时, 文本将是轻盈的,反之亦然)。ListTile
ElevatedButton
因此,我最终得到了如下代码:
return ElevatedButton(
style: ButtonStyle(
shape: MaterialStateProperty.all<RoundedRectangleBorder>(
RoundedRectangleBorder(
//side: BorderSide(width: 2),
borderRadius: BorderRadius.circular(20),
),
),
),
onPressed: () => Navigator.push(
context,
MaterialPageRoute(
builder: (context) => screen(t),
)),
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 4),
child: ListTile(
contentPadding: const EdgeInsets.all(0),
//tileColor: Colors.green,
// shape: RoundedRectangleBorder(
// //side: BorderSide(width: 2),
// borderRadius: BorderRadius.circular(20),
// ),
leading: CircleAvatar(
child: Icon(t.iconData),
),
title: Text(t.toString().i18n),
subtitle: Text(t.description),
trailing: const Icon(Icons.arrow_forward_ios),
// onTap: () => Navigator.push(
// context,
// MaterialPageRoute(
// builder: (context) => screen(t),
// ),
),
),
);
但是即使在深色背景上,文本也会保持黑暗,这就是为什么我想利用 EelevatedButton Theme.of(context) 来呈现标题和副标题文本。
怎么做呢?
答:
0赞
Robert S
11/2/2023
#1
我希望下面的例子对你有所帮助
Padding(
padding: const EdgeInsets.fromLTRB(5, 20, 5, 5),
child: SizedBox(
height: 60.0,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Color(0xffff8080),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
elevation: 05.0,
),
onPressed: () async {
},
child: Ink(
child: Container(
constraints: const BoxConstraints(
maxWidth: 200.0, minHeight: 60.0),
alignment: Alignment.center,
child: Text(
"Send OTP ",
textAlign: TextAlign.center,
style: Styles.googleFontWhite,
),
),
),
),
),
),
上一个:在离子中动态更改根主题
评论