Flutter как заставить контейнер расширяться на всю высоту

#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,
 

Результат:

введите описание изображения здесь