Есть много способов сделать это, но это невозможно с помощью конструктора фабрики, который вы упомянули OutlineButton.icon
, вы можете пойти глубже и проверить исходный код, чтобы увидеть, как он создает виджет.
Вы можете создать свой собственный Widget
, чтобы поместить значок влево и центрировать текст.
Также вы можете использовать виджет OutlineButton
и передать стек / строку как дочерний элемент, проверьте этот образец
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)
)
)