小编Edw*_*uan的帖子

Flutter - 如何将两列放入一行中,一列展开,另一列适合其内容文本?

有没有办法用flutter来实现这种布局?一列展开,另一列缩小以适应行内的文本。

我来自网络背景,我知道我可以使用 Flex-grow 和 Flex-shring 以及空白:nowrap 来做到这一点。

我想实现这个布局

我想实现这个布局

但在颤振中我尝试过:

  1. 这会给我两个等宽的列:
Row(
      crossAxisAlignment: CrossAxisAlignment.center,
      children: [
        Expanded(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.start,
            crossAxisAlignment: CrossAxisAlignment.stretch,
            mainAxisSize: MainAxisSize.min,
            children: [Text('Monthly Membership'), Text('Subscription')],
          ),
        ),
        Flexible(
          fit: FlexFit.tight,
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.stretch,
            mainAxisSize: MainAxisSize.min,
            children: [
              Text(
                '+100',
                maxLines: 1,
                softWrap: false,
                overflow: TextOverflow.fade,
              ),
              Text(
                '18 Sept 2021',
                maxLines: 1,
                softWrap: false,
                overflow: TextOverflow.fade,
              ),
            ],
          ),
        ),
      ],
    );
Run Code Online (Sandbox Code Playgroud)
  1. 这会报错。

RenderBox 未布局:RenderFlex#3024f relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE

Row(
      crossAxisAlignment: CrossAxisAlignment.center,
      children: [
        Expanded( …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

dart ×1

flutter ×1

flutter-layout ×1