#flutter #flutter-layout
#flutter #flutter-макет
Вопрос:
Я хочу расширить цвет фона контейнера, чтобы он занял всю высоту. Я уже пытался установить высоту в два раза бесконечнее, и это просто избавляет от моих двух текстовых виджетов Title и Lemon Chicken. Это код, который находится внутри виджета масштабирования, эта часть — это только тело.
body: SingleChildScrollView(
child: Column(
children: [
Padding(
padding: const EdgeInsets.symmetric(vertical: 36),
child: GestureDetector(
onTap: () => print('Add Image'),
child: Icon(
Icons.add_a_photo,
size: 70,
color: Theme.of(context).primaryColor,
),
),
),
Container(
width: double.infinity,
margin: EdgeInsets.symmetric(horizontal: 24),
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(24.0),
topRight: Radius.circular(24.0),
),
color: Colors.pink,
),
child: Form(
child: Padding(
padding: const EdgeInsets.all(12.0),
child: SingleChildScrollView(
physics: NeverScrollableScrollPhysics(),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'Title',
style: TextStyle(
color: Colors.black, fontWeight: FontWeight.bold),
),
Text(
'Lemon Chicken',
style:
TextStyle(color: Theme.of(context).primaryColor),
)
],
),
),
),
),
),
],
),
),
Это изображение моего приложения.
Я просто хочу, чтобы у виджета был розовый цвет фона
Ответ №1:
вы можете использовать mediaquery, чтобы найти высоту устройства и установить ее как высоту контейнера
Container(
height: MediaQuery.of(context).size.height,
width: double.infinity,
margin: EdgeInsets.symmetric(horizontal: 24),
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(24.0),
topRight: Radius.circular(24.0),
),
color: Colors.pink,
),
или, как вы это делали, вы можете использовать double.infinity
Container(
height:double.infinity,