#flutter #html-editor
#flutter #html-редактор
Вопрос:
Моя проблема в том, что клавиатура появляется перед виджетом текстового редактора HTML при открытии клавиатуры. Я делаю всю страницу прокручиваемой при открытии клавиатуры. он работает с обычными текстовыми полями, виджетами текстовой области, но не работает в HTML-редакторе flutter. Кто-нибудь может предложить решение для этого?
return Container(
margin: EdgeInsets.only(
top: 14,
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Container(
margin: EdgeInsets.only(
left: SizeConfig.safeBlockVertical * 1.5, top: 14),
child: Text(
"Enter Message",
style: TextStyle(
fontSize: 14,
fontFamily: 'UbuntuRegular',
color: MyColor.textColor),
),
),
Container(
margin: EdgeInsets.only(
top: SizeConfig.safeBlockVertical * 3,
right: SizeConfig.safeBlockVertical * 1),
padding: EdgeInsets.only(
left: SizeConfig.safeBlockHorizontal * 3,
right: SizeConfig.safeBlockHorizontal * 3,
bottom: SizeConfig.safeBlockHorizontal * 3,
),
child: HtmlEditor(
hint: "Your text here...",
key: keyEditor,
height: 400,
useBottomSheet: false,
showBottomToolbar: false,
)
),
],
),
);
Это мой код
Ответ №1:
Попробуйте обернуть html — редактор внутри a Container
и установить значение margin
to MediaQuery.of(context).viewInsets
. Вот так:
Container(child: YourHtmlEditor(),
margin: MediaQuery.of(context).viewInsets,)
Комментарии:
1. HTML-редактор уже заключен в контейнер и также имеет поля. Мой код приведен выше, пожалуйста, посмотрите на него и скажите мне, какие изменения необходимы
2.
margin: MediaQuery.of(context).viewInsets
, должно быть именно таким. Тоmargin
, что вы добавили, не будет работать.3. margin: MediaQuery.of(context).viewInsets использовал этот, но не работает
4. Попробуйте поместить поле на добавленный вами контейнер с верхним полем 14. (первое поле)
5. Я тоже пробовал это делать, но ничего не вышло. Этот виджет помещен внутри столбца , и этот столбец заключен в SingleChildScrollView . Я думаю, что маржа — это не проблема.