【发布时间】:2020-10-06 06:21:01
【问题描述】:
我创建了一个带有字母“M”的圆形按钮。点击此按钮后,我想在其右侧显示文本。最初,按钮右侧不应该有文本,只有在点击按钮后才会显示。
我已经能够在 onPressed 中收到要打印的消息,但我很困惑为什么我无法在按钮的一侧显示任何内容。
我怎样才能让它工作?
}
class _SelectDaysState extends State<SelectDays> {
bool selectedDay = false;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
gradient: LinearGradient(colors: [
Theme.of(context).colorScheme.charcoalGrey,
Theme.of(context).colorScheme.black
], begin: Alignment.topCenter, end: Alignment.bottomCenter),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const SizedBox(height: 60),
Padding(
padding: const EdgeInsets.only(left: 20, bottom: 70),
child: Text(
'Select your days!',
style: h1,
),
),
Row(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(left: 20),
),
Column(
children: <Widget>[
Row(
children: <Widget>[
Container(
child: SizedBox.fromSize(
size: Size(56, 56),
child: ClipOval(
child: Material(
color: Theme.of(context).colorScheme.watermelon,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
child: Text('Selected',
style: TextStyle(
color: Colors.white),
),
onPressed: () {
setState(() {
selectedDay = true;
});
Column(
children: <Widget>[
Row(
children: <Widget>[
Container(
child: SizedBox.fromSize(
size: Size(56, 56),
child: ClipOval(
child: Material(
color: Theme.of(context).colorScheme.watermelon,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
FlatButton(
child: Text('M', style: h2),
onPressed: () {
SizedBox(width: 40,);
Visibility(child: Text("Gone",
style: TextStyle(color: Colors.white),
),
visible: true,
);
【问题讨论】:
-
请提供一个更好的定义变量的sn-p