对齐属性不起作用,所以我使用空的扩展小部件
Alignment properties doesn't work so I use empty expanded widget
我想在右边添加文字,目前我在做什么
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
static const String _judul = 'Private Chat';
static var _warnaTema = Colors.pink[100];
Widget _dummyExpanded() {
return Expanded(
child: Container(), //contain empty data,
); //just for fill remaining space
}
@override
Widget build(BuildContext context) {
return MaterialApp(
title: _judul,
theme: ThemeData(
primaryColor: _warnaTema,
),
home: Column(
children: [
Container(
child: Row(
children: [
this._dummyExpanded(),
Text('this is real data 1'),
],
),
),
Container(
child: Row(
children: [
this._dummyExpanded(),
Text('this is real data 2'),
],
),
)
],
),
);
}
}
布局输出符合我的预期(文本在右边),但是有不需要的代码。
如你所见,我使用了不必要的方法 _dummyExpanded
来填充
available space 刚刚用空容器展开。当然,由于有许多嵌套的行和列,因此很难阅读,我如何删除不需要的方法而不丢失我期望的布局输出?
我想我应该使用对齐,但我不知道如何使用
方法一
Container(
child: Row(
mainAxisAlignment:MainAxisAlignment.end,
children: [
Text('this is real data 2'),
],
),
)
方法二
我比较喜欢这个方法,你可以用这个方法换行。
您也可以使用 Flexible
小部件代替 Expanded
Container(
child: Row(
children: [
Expanded(child: Text('this is real data 2', textAlign:TextAlign.end )),
],
),
)
方法三
如果您只有 Text
个小部件作为 Column
小部件的子项,那么您可以为父 Column
小部件设置 crossAxisAlignment: CrossAxisAlignment.end,
。
我想在右边添加文字,目前我在做什么
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
static const String _judul = 'Private Chat';
static var _warnaTema = Colors.pink[100];
Widget _dummyExpanded() {
return Expanded(
child: Container(), //contain empty data,
); //just for fill remaining space
}
@override
Widget build(BuildContext context) {
return MaterialApp(
title: _judul,
theme: ThemeData(
primaryColor: _warnaTema,
),
home: Column(
children: [
Container(
child: Row(
children: [
this._dummyExpanded(),
Text('this is real data 1'),
],
),
),
Container(
child: Row(
children: [
this._dummyExpanded(),
Text('this is real data 2'),
],
),
)
],
),
);
}
}
布局输出符合我的预期(文本在右边),但是有不需要的代码。
如你所见,我使用了不必要的方法 _dummyExpanded
来填充
available space 刚刚用空容器展开。当然,由于有许多嵌套的行和列,因此很难阅读,我如何删除不需要的方法而不丢失我期望的布局输出?
我想我应该使用对齐,但我不知道如何使用
方法一
Container(
child: Row(
mainAxisAlignment:MainAxisAlignment.end,
children: [
Text('this is real data 2'),
],
),
)
方法二
我比较喜欢这个方法,你可以用这个方法换行。
您也可以使用 Flexible
小部件代替 Expanded
Container(
child: Row(
children: [
Expanded(child: Text('this is real data 2', textAlign:TextAlign.end )),
],
),
)
方法三
如果您只有 Text
个小部件作为 Column
小部件的子项,那么您可以为父 Column
小部件设置 crossAxisAlignment: CrossAxisAlignment.end,
。