如何解决Flutter:如何将文本小部件中心放在屏幕上
我需要将标题'放在中间以适应任何屏幕,我知道我可以调整框的大小以在中心移动标题,但是当使用不同的设备时,尺寸肯定会改变并成为不同的标题地方。 这是代码:
class NotificationDoctor extends StatelessWidget {
TextStyles textStyles = TextStyles.heading;
Texts texts;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Container(
decoration: Boxdecoration(
color: Theme.of(context).primaryColorDark,borderRadius: BorderRadius.only(bottomLeft: Radius.circular(15.0))),height: 130.h,child: Padding(
padding: EdgeInsets.only(top: 40.h),child: Column(
mainAxisAlignment: MainAxisAlignment.center,children: [
Padding(
padding: EdgeInsets.only(
right: 15.w,top: 15.h,),child: Row(
crossAxisAlignment: CrossAxisAlignment.center,mainAxisAlignment: MainAxisAlignment.start,children: [
FlatButton(
child: ArrowIcon(
arrowColor: Color(0xFFEEF4F9),backgroundColor:
Theme.of(context).primaryColor.withOpacity(.9),onpressed: () {
Navigator.pop(context);
},// SizedBox(
// width: 55,// ),Center(
child: Texts(
'Notifications',style: TextStyles.heading,color: Color(0xFFEEF4F9),],));
}
}
解决方法
你只需要像这样改变中心的mainAxisAlignment
mainAxisAlignment: MainAxisAlignment.center,
完整代码
Row(
crossAxisAlignment: CrossAxisAlignment.center,mainAxisAlignment: MainAxisAlignment.center,children: [
// SizedBox(
// width: 55,// ),Center(
child: Text(
'Notifications',),],
如果您只希望标题居中,则使用 Stack
小部件并将标题小部件包装在 Align
小部件中,如下所示
Stack(
children: [
Padding(
padding: const EdgeInsets.only(left: 8.0),child: Icon(Icons.arrow_back),// icon,Align(
alignment: Alignment.center,child: Text(
'Notifications',)
,
像这样使用填充
Padding(
padding: EdgeInsets.symmetric(vertical: 5.h,horizontal: 3.h),child: Container(),);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。