#flutter #dart #flutter-layout
Вопрос:
Привет, я новичок в flutter, и я столкнулся с этой ошибкой
A RenderFlex overflowed by 9.0 pixels on the right.
The relevant error-causing widget was Row
это мой код ниже:
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
backgroundColor: Colors.white,
elevation: 0.0,
iconTheme: IconThemeData(
color: Colors.grey[600],
),
leading: Padding(
padding: const EdgeInsets.only(left: 8.0),
child: GestureDetector(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
children: [
Icon(
Icons.arrow_back_ios_outlined,
),
Text(
'Back',
style: GoogleFonts.poppins(
color: Colors.grey[600],
fontSize: 20
),
),
],
),
А вот скриншот с эмулятора моего устройства
Не могли бы вы помочь мне, пожалуйста, как исправить эту ошибку?
Комментарии:
1. Существует функция под названием Инспектор флаттера , с помощью которой вы можете просматривать выравнивания виджета и изменять отступы, поля в соответствии с этим
Ответ №1:
Обертывание Icon
с Expanded
помощью виджета избавит вас от ошибки здесь.
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
backgroundColor: Colors.white,
elevation: 0.0,
iconTheme: IconThemeData(
color: Colors.grey[600],
),
leading: Padding(
padding: const EdgeInsets.only(left: 8.0),
child: GestureDetector(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
children: [
Expanded(
child: Icon(
Icons.arrow_back_ios_outlined,
),
),
Text(
'Back',
style: GoogleFonts.poppins(
color: Colors.grey[600], fontSize: 20),
),
],
),
),
),
),
);
Решает ли это вашу проблему?
Комментарии:
1. хм… это странно. Я скоро посмотрю еще раз.
2. извините, не ошибка, но текст затем отображается в значке
3. Я исправил это с помощью leadingWidth
Ответ №2:
Я попытался добавить leadingWidth со значением 100 на панель приложений, и это устранило мою проблему