#flutter #user-interface #touch #statusbar #scaffold
#флаттер #пользовательский интерфейс #касание #Строка состояния #каркас
Вопрос:
Хотя я нахожусь в полноэкранном режиме, где строка состояния скрыта, но все же моя кнопка меню в правом верхнем углу не получает касания. Вы можете видеть на картинке, где я выбрал верхнюю панель, которая получает касание.
Половина моей кнопки меню получает касание, а половина — нет.
Я также сфотографировал инспектора трепетания в режиме выбора виджета
Я также добавляю свой пользовательский код кнопки. Просто для справки:
class RoundIconButton extends StatelessWidget {
RoundIconButton({
Key key,
@required this.onPressed,
@required this.icon,
this.fillColor = Colors.transparent,
}) : super(key: key);
final Icon icon;
final Function onPressed;
final Color fillColor;
@override
Widget build(BuildContext context) {
return RawMaterialButton(
child: icon,
onPressed: onPressed,
shape: CircleBorder(),
fillColor: fillColor,
constraints: BoxConstraints.tightFor(height: 50.0, width: 50.0),
);
}
}
Комментарии:
1. оберните тело каркаса виджетом SafeArea
2. обертывание тела scaffold с помощью SafeArea также переместит мои виджеты вниз. Я этого не хочу.
Ответ №1:
Вы должны обернуть свой каркас с помощью SafeArea, например,
без макета SafeArea выглядит так:
с макетом SafeArea выглядит так:
Комментарии:
1. Вы можете ясно видеть, что у меня полноэкранное приложение. Я не могу использовать безопасную зону точка
Ответ №2:
используйте каркас в теле в области безопасности для детей и области безопасности внутри вставьте всю страницу область безопасности имеет выемку и нижнюю панель избегайте
Scaffold(
body: SafeArea(
child: ...........
...........
),
),