169 похожих чатов

Ребят есть скроллвью, внутри его лежит всяки контент, едиттекст, ещё

ниже кнопка. Нужно чтобы при открытии клава не перекрывала кнопку,а сдвигала всё содержимое скролла вверх. Сейчас клава просто выравнивается по нижнему краю едиттекста. AdjustPan / adjustResize тут роли не играют. Возможно ли такое вообще?

22 ответов

14 просмотров

Андроид пытается показать столько, сколько влезает на экран и чтобы при этом поле ввода было в фокусе. Ты можешь гарантировать, что на экране поменьше и со шрифтами побольше всё это поместится?

Dmitry Levchenko- Автор вопроса

Конечно поместится,у меня же всё в скролле, при adjustResize он просто контент вверх толкает когда клава появляется. Мне нужно чтобы андроид поднял вверх не только контент выше эдиттекста, но и кнопку снизу.

у вас style fullscreen?

Попробуйте поменять местами кнопку и поле ввода, просто для теста. Наверняка андроид её поднимет для того, чтобы поле ввода было видно на экране :)

Dmitry Levchenko- Автор вопроса

нет, но transparent statusbar

Dmitry Levchenko- Автор вопроса

к сожалению я делаю задачу по макету и не могу менять порядок элементов

у activity какой style?

Я же говорю - для проверки. Понятно, что дизайн и все такое.

Dmitry Levchenko- Автор вопроса

А ,не заметил.Конечно андроид поднимает и при таком распложении всё ок, но у меня то другой случай

Я к тому, что андроид хочет сделать поле ввода в фокусе видимым. Всё! Остальное его не интересует.

Dmitry Levchenko- Автор вопроса

Theme.AppCompat.DayNight.NoActionBar

Dmitry Levchenko- Автор вопроса

Понятно, видимо всё-таки без костылей не обойтись.Просто из-за того андроид выравнивает всё так,чтобы была видна строка куда вводишь текст и не более, есть проблемы с многострочным хинтом. То есть когда в первый раз появляется клава, вводишь ты в первую строку, а хинт занимает 2 и более, и соотвественно ты эты строки не видишь

Издержки маленьких экранов. Это нужно учитывать.

Dmitry Levchenko- Автор вопроса

Почему маленьких? Хинт большой, и на больших экранах тоже 2 строки занимает.

Маленькие экраны не могут вместить всё сразу.

Dmitry Levchenko- Автор вопроса

Единственное решение которое я придумал, это заюзать тот факт, что клава выравнивается по нижнему краю едиттекста + нижний паддинг. То есть я могу посчитать нассколько мне надо увеличить нижний паддинг при открытии клавы,чтобы были видны все строки хинта. Но проблема в том что при закрытии его надо убирать обратно а мониторинг состояния клавы через OnGlobalLayout выглядит очень не надёжно

Если приходится извращаться, то это явный признак, что что-то делается неправильно.

Dmitry Levchenko- Автор вопроса

А как правильно? Гугл многострочный хинт просто по всем фронтам обделили. Тот же TextInputLayout его не поддерживает,обрезает. Писать свой editText наверно запарно

Задача какая? Гарантированно показать хинт у поля ввода? Или кнопку поднять?

Dmitry Levchenko- Автор вопроса

Гарантированно показать весь хинт в поле ввода, и чтобы editText был в скролле а не зафиксирован внизу экрана. Про кнопку я спросил потому что мне показалось что это более распространённая проблема и при этом смежная

Поскольку андроид показывает поле ввода сразу над клавой, то можно показывать хинт над полем ввода. Места для этого должно быть достаточно (почти всегда)

Через инсеты такое чекают мне сказали

Похожие вопросы

Обсуждают сегодня

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
Хтось використовував Vapor на Windows?
Jaroshevskii
15
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
Оба варианта в целом подходят, но скорее создание конфликтной ситуации (на пустой основе). В прошлый раз он сказал мне про ESP32, я забыл про этот микроконтроллер, ошибся, я п...
КТ315
4
Карта сайта