yay*_*aga 0 flutter flutter-layout
我试图使用 ListTile 在左侧显示一个小标题,然后在尾随小部件中显示一个较长的文本。如果没有足够的水平空间,我的想法是让尾随文本分成多行。
我还尝试使用以下代码创建自己的磁贴:
Container(
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 20),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Padding(
padding: const EdgeInsets.only(right: 12),
child: Text(
"Campus",
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.w700,
),
),
),
Text(
"20h course - New students -",
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.w400,
),
),
],
),
),
Run Code Online (Sandbox Code Playgroud)
在 Pixel 2 XL 模拟器中使用此代码,因为有足够的空间,所有内容都按预期在同一行中:
但是当我在 Nexus One 模拟器中尝试它时,由于它的大小,这里是输出:
为了允许文本分成多行,我将右侧的文本包装到一个灵活的小部件中:
Container(
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 20),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Padding(
padding: const EdgeInsets.only(right: 12),
child: Text(
"Campus",
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.w700,
),
),
),
Flexible(
child: Text(
"20h course - New students -",
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.w400,
),
),
),
],
),
),
Run Code Online (Sandbox Code Playgroud)
但问题是,即使文本被分成两行,它使用的空间也比需要的多,所以还有空余空间:
我还尝试使用 align 小部件将文本移动到最后,但也没有运气。有任何想法吗?
用容器包裹您的文本并使其向左或向右对齐。然后重要的部分是,添加textWidthBasis: TextWidthBasis.longestLine,到您的文本。代码:
Container(
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 20),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Padding(
padding: const EdgeInsets.only(right: 12),
child: Text(
"Campus",
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.w700,
),
),
),
Flexible(
child: Container(
alignment: Alignment.centerLeft,
child: Text(
"20h course - New students - sd f sdfsddssdfsdfs dfs df sf sdf sdf ",
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.w400,
),
textWidthBasis: TextWidthBasis.longestLine,
),
),
),
],
),
),
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2681 次 |
| 最近记录: |