Странный черный фон в виджете OutlineButton от Flutter

#flutter #flutter-layout

#flutter #flutter-макет

Вопрос:

Я использую виджет OutlineButton от Flutter, и я не могу понять, как убрать эту странную подсветку черного фона при нажатии кнопки.

НАЖМИТЕ, ЧТОБЫ ПОСМОТРЕТЬ ВИДЕО ПРОБЛЕМЫ

Это кнопка:

 OutlineButton(
  highlightElevation: 1.0,
  onPressed: () => onRequestAllowLocation(context),
  child: Text(
    "ALLOW LOCATION",
    style: TextStyle(fontWeight: FontWeight.w600, fontSize: 16),
  ),
  borderSide: BorderSide(color: MyApp.accentColor, width: 2.0),
  textColor: MyApp.accentColor,
  shape: new RoundedRectangleBorder(borderRadius: new BorderRadius.circular(16.0))),
)
  

А вот и тема приложения:

 ThemeData(
  fontFamily: 'Dosis',
  brightness: Brightness.dark,
  primarySwatch: Colors.blue,
  accentColor: accentColor,
  highlightColor: highlightColor,
  buttonColor: accentColor,
  indicatorColor: accentColor,
  backgroundColor: primaryColor,
  scaffoldBackgroundColor: primaryColor,
  primaryColor: primaryColor,
)
  

P.S. Ни один из const цветов, которые я привел выше, не является черным.

Ответ №1:

Это тень. Прекратите настройку highlightElevation, и он исчезнет. Из документации класса OutlineButton:

Уровень подсветки кнопки, который определяет размер тени при нажатии кнопки, по умолчанию равен 0.0 (без тени). Если для параметра highlightElevation присвоено значение больше 0.0, то кнопка становится чем-то средним между RaisedButton и FlatButton: окаймленная кнопка, высота которой увеличивается, а фон становится непрозрачным при нажатии кнопки.