Flutter 如何在颤振中将文本与左侧对齐
我正在尝试复制设计,但我不确定如何使我的所有文本像设计一样向左对齐,而不是居中对齐,但不确定如何做到这一点,因此如果我能得到帮助或建议,我将非常感激Flutter 如何在颤振中将文本与左侧对齐,flutter,dart,mobile,flutter-layout,flutter-animation,Flutter,Dart,Mobile,Flutter Layout,Flutter Animation,我正在尝试复制设计,但我不确定如何使我的所有文本像设计一样向左对齐,而不是居中对齐,但不确定如何做到这一点,因此如果我能得到帮助或建议,我将非常感激 Container( decoration: BoxDecoration( borderRadius: BorderRadius.only( bottomLeft: Radius.circular(10),
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(10),
bottomRight: Radius.circular(10)),
color: Theme.of(context).primaryColor,
),
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 10),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
(widget.tileItems.length < 0)
? null
: infoWidget(widget.tileItems[0]),
verticalBarSeparator(widget.tileItems[1].middleText),
(widget.tileItems.length < 1)
? null
: tileWidget(widget.tileItems[1]),
verticalBarSeparator(widget.tileItems[2].middleText),
(widget.tileItems.length < 2)
? null
: tileWidget(widget.tileItems[2]),
verticalBarSeparator(widget.tileItems[3].middleText),
(widget.tileItems.length < 3)
? null
: tileWidget(widget.tileItems[3])
],
),
),
)
Widget tileWidget(TileItem item) {
return Padding(
padding: EdgeInsets.symmetric(vertical: 15, horizontal: 10),
child: Column(
children: <Widget>[
Text(item.topText, style: Theme.of(context).textTheme.h10),
SizedBox(height: 5),
Text(item.middleText),
SizedBox(height: 5),
Text(item.bottomText,
style: TextStyle(
color: int.parse(item.middleText) < 0
? Color.fromRGBO(225, 0, 0, 1)
: Color.fromRGBO(67, 188, 72, 1),
))
],
),
);
}
容器(
装饰:盒子装饰(
borderRadius:仅限borderRadius(
左下角:半径。圆形(10),
右下角:半径。圆形(10)),
颜色:主题。背景。原色,
),
孩子:填充(
填充:边缘组。对称(水平:10),
孩子:排(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
(widget.tileItems.length<0)
无效的
:infoWidget(widget.tileItems[0]),
verticalBarSeparator(widget.tileItems[1].middleText),
(widget.tileItems.length<1)
无效的
:tileWidget(widget.tileItems[1]),
verticalBarSeparator(widget.tileItems[2].middleText),
(widget.tileItems.length<2)
无效的
:tileWidget(widget.tileItems[2]),
verticalBarSeparator(widget.tileItems[3].middleText),
(widget.tileItems.length<3)
无效的
:tileWidget(widget.tileItems[3])
],
),
),
)
小部件tileWidget(TileItem项){
返回填充(
填充:边缘组。对称(垂直:15,水平:10),
子:列(
儿童:[
Text(item.topText,style:Theme.of(context.textTheme.h10),
尺寸箱(高度:5),
文本(项目.中间文本),
尺寸箱(高度:5),
文本(项。文本,
样式:TextStyle(
颜色:int.parse(item.middleText)<0
?来自RGBO的颜色(225,0,0,1)
:颜色。来自RGBO(6718872,1),
))
],
),
);
}
尝试将列的crossAxisAlignment设置为左侧,它应该可以工作。如果未从默认设置更改crossAxisAlignment,则列将内容设置为中心。请尝试以下代码
Widget tileWidget(TileItem item) {
return Padding(
padding: EdgeInsets.symmetric(vertical: 15, horizontal: 10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.left,
children: <Widget>[
Text(item.topText, style: Theme.of(context).textTheme.h10),
SizedBox(height: 5),
Text(item.middleText),
SizedBox(height: 5),
Text(item.bottomText,
style: TextStyle(
color: int.parse(item.middleText) < 0
? Color.fromRGBO(225, 0, 0, 1)
: Color.fromRGBO(67, 188, 72, 1),
))
],
),
);
}
Widget tileWidget(TileItem项){
返回填充(
填充:边缘组。对称(垂直:15,水平:10),
子:列(
crossAxisAlignment:crossAxisAlignment.left,
儿童:[
Text(item.topText,style:Theme.of(context.textTheme.h10),
尺寸箱(高度:5),
文本(项目.中间文本),
尺寸箱(高度:5),
文本(项。文本,
样式:TextStyle(
颜色:int.parse(item.middleText)<0
?来自RGBO的颜色(225,0,0,1)
:颜色。来自RGBO(6718872,1),
))
],
),
);
}
尝试将列的crossAxisAlignment设置为左侧,它应该可以工作。如果未从默认设置更改crossAxisAlignment,则列将内容设置为中心。请尝试以下代码
Widget tileWidget(TileItem item) {
return Padding(
padding: EdgeInsets.symmetric(vertical: 15, horizontal: 10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.left,
children: <Widget>[
Text(item.topText, style: Theme.of(context).textTheme.h10),
SizedBox(height: 5),
Text(item.middleText),
SizedBox(height: 5),
Text(item.bottomText,
style: TextStyle(
color: int.parse(item.middleText) < 0
? Color.fromRGBO(225, 0, 0, 1)
: Color.fromRGBO(67, 188, 72, 1),
))
],
),
);
}
Widget tileWidget(TileItem项){
返回填充(
填充:边缘组。对称(垂直:15,水平:10),
子:列(
crossAxisAlignment:crossAxisAlignment.left,
儿童:[
Text(item.topText,style:Theme.of(context.textTheme.h10),
尺寸箱(高度:5),
文本(项目.中间文本),
尺寸箱(高度:5),
文本(项。文本,
样式:TextStyle(
颜色:int.parse(item.middleText)<0
?来自RGBO的颜色(225,0,0,1)
:颜色。来自RGBO(6718872,1),
))
],
),
);
}
首先将垂直条形分隔符和平铺边缘包裹在行内,并从对齐开始:
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
(widget.tileItems.length < 0)
? null
: infoWidget(widget.tileItems[0]),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
verticalBarSeparator(widget.tileItems[1].middleText),
(widget.tileItems.length < 1)
? null
: tileWidget(widget.tileItems[1]),
],),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
verticalBarSeparator(widget.tileItems[2].middleText),
(widget.tileItems.length < 2)
? null
: tileWidget(widget.tileItems[2]),
],),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
verticalBarSeparator(widget.tileItems[3].middleText),
(widget.tileItems.length < 3)
? null
: tileWidget(widget.tileItems[3])
],),
],
),
行(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
(widget.tileItems.length<0)
无效的
:infoWidget(widget.tileItems[0]),
划船(
mainAxisAlignment:mainAxisAlignment.start,
儿童:[
verticalBarSeparator(widget.tileItems[1].middleText),
(widget.tileItems.length<1)
无效的
:tileWidget(widget.tileItems[1]),
],),
划船(
mainAxisAlignment:mainAxisAlignment.start,
儿童:[
verticalBarSeparator(widget.tileItems[2].middleText),
(widget.tileItems.length<2)
无效的
:tileWidget(widget.tileItems[2]),
],),
划船(
mainAxisAlignment:mainAxisAlignment.start,
儿童:[
verticalBarSeparator(widget.tileItems[3].middleText),
(widget.tileItems.length<3)
无效的
:tileWidget(widget.tileItems[3])
],),
],
),
第二,将平铺边线列设置为主对齐和交叉对齐,如下所示:
Widget tileWidget(TileItem item) {
return Padding(
padding: EdgeInsets.symmetric(vertical: 15, horizontal: 10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.left,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Widget tileWidget(TileItem项){
返回填充(
填充:边缘组。对称(垂直:15,水平:10),
子:列(
crossAxisAlignment:crossAxisAlignment.left,
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
首先将垂直条形分隔符和平铺边缘包裹在行内,并从对齐开始:
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
(widget.tileItems.length < 0)
? null
: infoWidget(widget.tileItems[0]),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
verticalBarSeparator(widget.tileItems[1].middleText),
(widget.tileItems.length < 1)
? null
: tileWidget(widget.tileItems[1]),
],),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
verticalBarSeparator(widget.tileItems[2].middleText),
(widget.tileItems.length < 2)
? null
: tileWidget(widget.tileItems[2]),
],),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
verticalBarSeparator(widget.tileItems[3].middleText),
(widget.tileItems.length < 3)
? null
: tileWidget(widget.tileItems[3])
],),
],
),
行(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
(widget.tileItems.length<0)
无效的
:infoWidget(widget.tileItems[0]),
划船(
mainAxisAlignment:mainAxisAlignment.sta