Android 如何对齐按钮内部的文本,该按钮位于中心小部件| flatter内?
我的按钮必须在中间,但必须对齐在同一条线上, “侧边中的文字”按钮也应向左对齐。 为此,我使用textalign left,但在我的代码中不起作用,我不知道为什么 因此,任何人都可以修改我的代码,使按钮内的文本左对齐,而不影响我的按钮位置 多谢各位Android 如何对齐按钮内部的文本,该按钮位于中心小部件| flatter内?,android,flutter,dart,flutter-layout,Android,Flutter,Dart,Flutter Layout,我的按钮必须在中间,但必须对齐在同一条线上, “侧边中的文字”按钮也应向左对齐。 为此,我使用textalign left,但在我的代码中不起作用,我不知道为什么 因此,任何人都可以修改我的代码,使按钮内的文本左对齐,而不影响我的按钮位置 多谢各位 class Something extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBa
class Something extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Solve Before Downvote !'),
),
body: Container(
color: Color(0xff263238),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SingleChildScrollView(
child: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
MaterialButton(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0)),
padding: EdgeInsets.only(left: 5),
color: Colors.green,
onPressed: () {},
child: Text('SomeThing', textAlign: TextAlign.left),
),
MaterialButton(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0)),
color: Colors.green,
onPressed: () { },
child: Text('Nothing', textAlign: TextAlign.left),
),
MaterialButton(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0)),
color: Colors.green,
onPressed: () {},
child: Text('Can You do something ?',
textAlign: TextAlign.left),
),
MaterialButton(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0)),
color: Colors.green,
onPressed: () {},
child: Text('Nothing to do !', textAlign: TextAlign.left),
),
],
),
),
)
],
),
),
);
}
}
能否添加
Align()
并设置对齐:对齐。在小部件子文本之前,请检查以下代码。我已经用代码注释出了解决方案
class Something extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Solve Before Downvote !'),
),
body: Container(
width: MediaQuery.of(context).size.width,
color: Color(0xff263238),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SingleChildScrollView(
child: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.all(2.0),
child: Material(
color: Colors.green,
borderRadius: BorderRadius.circular(10.0),
child: InkWell(
onTap: () {
setState(() {
abc = true;
});
},
child: Padding(
padding: const EdgeInsets.fromLTRB(0, 12, 15, 12),
child: Text('SomeThing', textAlign: TextAlign.left),
),
),
),
),
Padding(
padding: const EdgeInsets.all(2.0),
child: Material(
color: Colors.green,
borderRadius: BorderRadius.circular(10.0),
child: InkWell(
onTap: () {
setState(() {
abc = true;
});
},
child: Padding(
padding: const EdgeInsets.fromLTRB(0, 12, 15, 12),
child: Text('Nothing', textAlign: TextAlign.left),
),
),
),
),
Padding(
padding: const EdgeInsets.all(2.0),
child: Material(
color: Colors.green,
borderRadius: BorderRadius.circular(10.0),
child: InkWell(
onTap: () {
setState(() {
abc = true;
});
},
child: Padding(
padding: const EdgeInsets.fromLTRB(0, 12, 15, 12),
child: Text('Can You do something ?',
textAlign: TextAlign.left),
),
),
),
),
Padding(
padding: const EdgeInsets.all(2.0),
child: Material(
color: Colors.green,
borderRadius: BorderRadius.circular(10.0),
child: InkWell(
onTap: () {
setState(() {
abc = true;
});
},
child: Padding(
padding: const EdgeInsets.fromLTRB(0, 12, 15, 12),
child: Text('Nothing to do !',
textAlign: TextAlign.left),
),
),
),
),
],
),
),
)
],
),
),
);
}
}
不确定您要的是什么,但是MaterialButton
有一个默认的padding
,可以使用padding:EdgeInsets删除。在MaterialButton
中为零。我询问了关于Material按钮内的文本,应该左对齐。为此,我使用textAlign:textAlign.left但不工作,您可以在屏幕截图中看到。这是因为MaterialButton
具有默认的padding
,您可以将padding
设置为EdgeInsets.zero
。是否需要中心的所有按钮垂直和水平对齐?->图1或=>图2您指的是哪一个?t将增加按钮size@DanarPutra,甚至是正确的,它增加了我的按钮大小,如(宽度匹配父母哈哈),谢谢你的努力。这正是我真正需要的,但需要另一个帮助,如何使手势检测器显示波纹时clicked@PMahto,对不起,伙计,你需要用墨水瓶。它将工作,经过测试。我刚刚更新了代码,请检查一下。如果它有效,请投票给我。它有效,再次感谢,但很抱歉,没有足够的声誉,我认为这是一个无状态的小部件,所以设置状态显示错误?使它状态完整,你在无状态下工作,我做了状态完整