You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter问题:Row组件中Widget无法实现左右正确对齐

问题解决:让Text靠左、Icon靠右显示

你的问题出在Row的第一个子组件是无内容的Padding,它占据了左侧空间,导致MainAxisAlignment.spaceBetween把Text和Icon往中间推,而不是贴住容器左右边缘。

修复方案1:给Row整体设置内边距

直接移除空Padding,给Row添加padding属性,既能保留左右间距,又能让Text和Icon靠边缘排列:

import 'package:flutter/material.dart';

class Habits extends StatelessWidget {
  const Habits({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: EdgeInsets.only(left: 20.0, right: 20.0, top: 20.0),
      child: Container(
        decoration: BoxDecoration(
          color: Colors.green[200],
          borderRadius: BorderRadius.circular(12),
        ),
        child: Row(
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          padding: EdgeInsets.all(20), // 给Row整体加内边距
          children: [
            Text('Home'),
            Icon(Icons.search),
          ],
        ),
      ),
    );
  }
}

修复方案2:给Text和Icon分别设置左右边距

如果需要更灵活的间距控制,可以单独给Text加左内边距、Icon加右内边距:

import 'package:flutter/material.dart';

class Habits extends StatelessWidget {
  const Habits({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: EdgeInsets.only(left: 20.0, right: 20.0, top: 20.0),
      child: Container(
        decoration: BoxDecoration(
          color: Colors.green[200],
          borderRadius: BorderRadius.circular(12),
        ),
        child: Row(
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          children: [
            Padding(
              padding: EdgeInsets.only(left: 20),
              child: Text('Home'),
            ),
            Padding(
              padding: EdgeInsets.only(right: 20),
              child: Icon(Icons.search),
            ),
          ],
        ),
      ),
    );
  }
}

两种方案都能实现你要的效果:Text贴容器左侧,Icon贴容器右侧,同时保留合适的间距。

内容的提问来源于stack exchange,提问作者A-Commons

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 19:04:05