我是Android开发人员学习Flutter。我希望我的屏幕看起来像这样:
|---------------------------------|
| |
| Babe I miss you |
| |
|---------------------------------|
“宝贝”和“我想你”应该是两个独立的元素。
在Android xml中,我会用LinearLayout
和两个TextView
来解决这个问题,每个weight=1
。
我知道你可以用FrameLayout
或RelativeLayout
来解决它,但我想要最接近LinearLayout
的行为。
7条答案
按热度按时间fkaflof61#
flutter的
Row
小工具相当于android的LinearLayout
加上android:orientation="horizontal"
,Column
小工具相当于android的LinearLayout
加上android:orientation="vertical"
。Flexible
小工具的flex
属性等同于weight
属性,您可以将Text
小工具 Package 在Flexible
小工具中并指定flex
属性。示例:
tjvv9vkg2#
使用Expanded小工具还可以产生如下LinearLayout效果:
a0x5cqrl3#
考虑到问题中的布局,您希望在屏幕末尾显示两个文本,一个在开头,另一个在末尾,您只需将
MainAxisAlignment.spaceBetween
属性添加到该行因此您需要修改代码以
我不明白为什么第一个答案被接受,因为它只是将文本添加到屏幕的最右端,
提示:如果您需要在每个文本周围填充一些内容,请将容器中的每个文本换行,并添加所需的填充内容和边距
pgky5nke4#
您可以将
row
与MainAxisAlignment
一起使用,这样您就可以根据自己的期望放置元素gmxoilav5#
截图:
使用带有
flex
属性的Spacer
(默认为1
)xmq68pz96#
vfwfrxfs7#
我们可以使用FractionallySizedBox小部件给出宽度和高度的权重总和。
更多信息:
Link