за его размер и паддинг от текста большой, хотя поставил значение 0
Обернуть его в контейнер и поставить жёсткие ограничения
Так обернул: сайзд бакс с фикс высотой, у него ребенок контейнер с фикс шириной и так же padding 0 у контейнера
Сайзед бокс не нужен, это пустой бокс до отступа или пробела но виджетом, тебе нужно указать размер самого контейнера, а потом в текст филд указать double.infinity
Он там общую высоту всем виджет под ним дает, там не только текст филд же
Я попробую сделать именно так
Щас напишу пример как должно быть
Ок, но вроде все предельно ясно
Scaffold( body: Container( margin: const EdgeInsets.all(10.0), color: Colors.amber[600], width: 20.0, height: 48.0, child: TextField(expands: true,cursorHeight: double.infinity) ), )
Почему в таком случае Container весь размер экране не берет?
Потому что у него есть размер
Это метод инкапсуляции когда тебе нужно что то где то ограничить на экране берешь его в контейнер и делаешь ему жёсткие ограничения по размерам и он будет ровно такой какой тебе нужно
а почему это инкапсуляция?
Любой другой виджет под скаффолд засунь с размером он будет во весь экран
Ну ты помешаешь его в контейнер почему бы и не назвать его капсулой значение не изменит, но объяснение станет понятнее
Скафолд не обязателен
Чёт не верю что сработает
Это в теории должно работать
Что-то я теперь сомневаюсь в твоей компетенции 😀
В теории кто переиначит минимальные размеры текстфилда?
Инкапсуляция это другое вообще
У нас есть ограничения по максимуму размеров и минимуму... От экрана идёт максимум и минимум равный размеру экрана, скаффолд в зависимости от аппбара шенкует экран, но все равно своих детей растягивает... То есть контейнер в данном случае должен быть размеров который будет в скаффолде... У контейнера есть маргин - это считай падинги, ок от боди скаффолда отступ считай, дальше заливка всей этой области экрана, размеры? Размеры у нас желаемые указаны, но от родителей приходят размеры минимальные больше, и он не может перечить родительским требованиям... Ребенок текстфилд, так как это контейнер без центровки то он также дитю своему указывает те же ограничения в размерах что и ему от родителей досталось, соответственно текст Филд будет на весь экран который залит с цветом с отступами от краёв... Да текст в текстфилде так как центрируется по левоверхнему углу, он будет естественно в начале экрана
Любой виджет центровки разорвёт этот порочную цепь...
У него сразу контейнер в скаффолде
Ты лучше попробуй добавить resizeToAvoidBottomInset в Scaffold и укажи false в нем
Обсуждают сегодня