Flutter - Помещение внутри стека внутри строки не отображает

Я пытаюсь разместить значок поиска внутри периметра первого ввода в строке, но получаю ошибки и пустой экран.

Код без Stack и Positioned работает:

      Row(
                      children: [
                        Expanded(
                          child: Padding(
                            padding: const EdgeInsets.only(right: 8.0),
                            child: InputText(
                              label: 'Article infrigit',
                              readOnly: true,
                              placeholder: '29.1',
                            ),
                          ),
                        ),
                        Image.asset('assets/images/searchIcon.png',
                            width: 32.0),
                        Expanded(
                          child: InputText(
                            label: 'Import Sanció €',
                            readOnly: true,
                            placeholder: '100,00',
                          ),
                        ),
                      ],
                    ),

Код с Stack и Positioned desn't:

      Row(
                      children: [
                        Stack(children: [
                          Expanded(
                            child: Padding(
                              padding: const EdgeInsets.only(right: 8.0),
                              child: InputText(
                                label: 'Article infrigit',
                                readOnly: true,
                                placeholder: '29.1',
                              ),
                            ),
                          ),
                          Positioned(
                            top: 0,
                            right: 0,
                            child: Image.asset('assets/images/searchIcon.png',
                                width: 32.0),
                          ),
                        ]),
                        Expanded(
                          child: InputText(
                            label: 'Import Sanció €',
                            readOnly: true,
                            placeholder: '100,00',
                          ),
                        ),
                      ],
                    ),

перед стеком

Одно из исключений макета говорит:исключение макета

1 ответ

Решение состоит в том, чтобы обернуть Stack в SizedBox, чтобы придать ему высоту, и Expanded, чтобы дать ему полную ширину.

Нашел здесь ответ Flutter: RenderBox не выкладывался

Другие вопросы по тегам