#flutter #google-maps #dart #singlechildscrollview
Вопрос:
Я новичок в flutter, и у меня есть проблема. Когда я нажимаю на поле текстовой формы, это поле исчезает
Я поместил контейнер в красный цвет, но обычно он прозрачный
Я кладу стопку, затем на заднем плане появляется карта Google, которая расширяется. И чтобы иметь исследовательский эффект, я наложил наложение на поле текстовой формы, и у меня будут специальные кнопки фильтра вместо желтого и зеленого.
Проблема в том, что, когда я нажимаю на поле Текстовая форма, оно исчезает с экрана. Я пытался играть с SingleChildScrollView, ListView, но у меня все еще есть ошибки, особенно из-за карты GoogleMap, которая занимает все пространство, Все, что содержится на подмостках
Не могли бы вы мне помочь, пожалуйста, где дать мне решение? Я прилагаю код ниже
сердечно
возвращаемый стек( дочерние элементы: [ /// Столбец карты Google( дочерние элементы: [ Расширен( дочерний элемент: Карта Google(начальное расположение: _kInitialPosition), ), ], ),
/// Search Bar And Filter
Positioned.fill(
bottom: _searchBarContainer,
child: SafeArea(
child: Container(
color: Colors.red,
child: Padding(
padding: const EdgeInsets.only(left: 8.0, right: 8.0),
child: Row(
children: [
/// Search Bar
Expanded(
child: TextFormField(
decoration: DesignWidget.inputDecorationTexFieldMap(
_searchBarMap, Icons.search),
),
),
/// Filter
Container(
width: _filterContainer,
color: Colors.green,
child: Row(
children: [
Container(
color: Colors.yellow,
width: _filterContainer / 2,
),
Container(
color: Colors.green,
width: _filterContainer / 2,
)
],
),
),
],
),
),
),
),
),
],
);
Ответ №1:
просто используйте этот пакет [material_floating_search_bar: ^0.3.4]
Ответ №2:
Я думаю, что прежде чем использовать TextFormField, вам нужно либо определить ключ, либо controller…..it происходит, когда вы не определяете экземпляр контроллера и используете этот контроллер внутри контроллера TextFormField.
Ответ №3:
Хорошо, я нашел решение, которое мне нужно добавить (в складку) : resizeToAvoidBottomInset: false