#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: окаймленная кнопка, высота которой увеличивается, а фон становится непрозрачным при нажатии кнопки.