首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤振LinearLayout重量选择

颤振LinearLayout重量选择
EN

Stack Overflow用户
提问于 2018-03-13 06:53:50
回答 7查看 28.4K关注 0票数 42

我是Android开发者学习颤栗。我要我的屏幕看起来像这样:

代码语言:javascript
复制
|---------------------------------|
|                                 |
|  Babe               I miss you  |
|                                 |
|---------------------------------|

“宝贝”和“我想你”应该是两个独立的元素。

使用Android,我会用LinearLayout来解决这个问题,而对于每个TextView,我会解决两个带有weight=1TextView。颤栗的另一个选择是什么?

我知道你可以用FrameLayout或者RelativeLayout来解决这个问题,但是我想要最接近LinearLayout的行为。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2018-03-13 07:01:20

Flutter的Row小部件等价于android的LinearLayout with android:orientation="horizontal"Column小部件等效于android的LinearLayout with android:orientation="vertical"

flex属性的Flexible小部件是等价的weight属性,您可以将Text小部件包装在Flexible小部件中并指定flex属性。

示例:

代码语言:javascript
复制
new Row(
    children: <Widget>[
      new Flexible(child: new Text("Babe"), flex: 1,),
      new Flexible(child: new Text("I miss you"), flex: 1,)
    ],
  )

希望这能帮上忙!

票数 95
EN

Stack Overflow用户

发布于 2019-10-16 18:30:00

使用扩容小部件还可以产生如下所示的LinearLayout效果:

代码语言:javascript
复制
Row(
  children: <Widget>[
    Expanded(
      child: Container(child: Text("Babe")),
      flex: 2,
    ),
    Expanded(
      child: Container(child: Text("I don't miss you"),alignment: Alignment.centerRight),
      flex: 2,
    ),
   ],
  ),
票数 34
EN

Stack Overflow用户

发布于 2018-12-27 17:53:53

考虑到问题中的布局,您想要在屏幕的末尾显示两个文本,一个在开始,另一个在末尾,您可以简单地将MainAxisAlignment.spaceBetween属性添加到行中。

所以你需要修改你的代码

代码语言:javascript
复制
child: new Row(
    mainAxisAlignment: MainAxisAlignment.spaceBetween,
    children: [
     new Text('Babe'),
     new Text('I miss you')
     ]
  )

我不明白为什么第一个答案被接受了,因为它只是在屏幕的最右端添加了两个文本,

提示:如果您需要在每个文本周围添加一些填充,将每个文本包装在容器中,并添加所需的填充和页边距

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49249966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档