如何在Flutter 中左对齐OutlineButton图标? Icon可以按如下方式添加,但图标和文本在按钮中居中对齐.有没有办法使图标左对齐,文本居中对齐?

return new OutlineButton.icon(
  onPressed: onPressed,
  label: new Text(title),
  icon: icon,
  highlightedBorderColor: Colors.orange,
  color: Colors.green,
  borderSide: new BorderSide(color: Colors.green),
  shape: new RoundedRectangleBorder(
      borderRadius: new BorderRadius.circular(5.0)));

推荐答案

有很多方法可以做到这一点,但是使用您提到的OutlineButton.icon个工厂构造函数是不可能的,您可以更深入地判断源代码,看看它是如何构建小部件的.

您可以创建自己的Widget,将图标放在左侧,文本居中.

您还可以使用OutlineButton小部件并将Stack/Row作为子级传递,请判断此示例

OutlineButton(
    onPressed: () => null,
    child: Stack(
        children: <Widget>[
            Align(
                alignment: Alignment.centerLeft,
                child: Icon(Icons.access_alarm)
            ),
            Align(
                alignment: Alignment.center,
                child: Text(
                    "Testing",
                    textAlign: TextAlign.center,
                )
            )
        ],
    ),
    highlightedBorderColor: Colors.orange,
    color: Colors.green,
    borderSide: new BorderSide(color: Colors.green),
    shape: new RoundedRectangleBorder(
        borderRadius: new BorderRadius.circular(5.0)
    )
)

Dart相关问答推荐

Dart 列表中的 addAll() 和 followBy() 有什么区别?

如何在 Flutter 的 firebase_database 中执行事务?

寻找provider context 的flutter问题

dart 中 call() 的实现是什么?

Flutter 中的 authStateChanges

如何在Flatter中将图表线 colored颜色 更改为自定义 colored颜色 代码值

Dart / Flutter 错误:没有为类Logger定义toStringDeep

在Flatter中滚动列表视图时,网络图像一直消失?

如何在Flatter中的press/finger/mouse/cursor位置显示菜单

Flutter中图像纵横比的变化

用 Dart 模式替换静态继承

Opa vs Dart vs Haxe vs CoffeeScript

如何在 Dart 中创建 StreamTransformer?

Dart,对泛型的限制?

Dart 的输出是什么样的?

Exception: Concurrent modification during iteration: Instance(length:17) of '_GrowableList';

如何初始化构造函数主体中的最终字段?

如何在 base64 中编码 Dart 字符串?

Null aware函数调用运算符

何时在 Dart 中使用 part/part of 与 import/export?