У меня есть вертикальный выдвижной ящик в нижней части моего приложения. Когда программная клавиатура открывается, она выдвигает язычок для выдвижного ящика вверх, поэтому она садится на верхнюю часть клавиатуры. Я на самом деле хочу, чтобы он оставался внизу экрана и становился скрытым при отображении клавиатуры.
Кто-нибудь еще сталкивался с этой проблемой? Знаете, как это исправить?
Ответы:
Вы можете просто поменять
windowSoftInputMode
флаг своей активностиadjustPan
в своемAndroidMainfest.xml
файле внутри тега активности.Проверьте официальную документацию для получения дополнительной информации.
источник
Ни один из ответов не работал для меня, но это сработало:
источник
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
это программное обеспечение для установки значенияВ моем случае причина, по которой кнопки нажимались вверх, заключалась в том, что вид над ними был a
ScrollView
, и он сворачивался при нажатии кнопок над клавиатурой независимо от того, какое значениеandroid:windowSoftInputMode
я настраивал.Я смог избежать того, чтобы моя нижняя строка кнопок была нажата программной клавиатурой, установив
android:isScrollContainer="false"
ееScrollView
над кнопками.источник
Вы можете попытаться добавить этот атрибут динамически, добавив следующий код в
onCreate
метод вашей деятельности:Это сработало для меня, но это:
техника его подводит.
источник
android:windowSoftInputMode="adjustPan"
в AndroidManifest.xml?getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
" во фрагменте?FragmentActivity
) и некоторые виды, прикрепленные к нему (ракурсы расширяются отRelativeLayout
). Итак, с точки зрения беспокойства я сделал так,controller.getWindow()...
как ты сказал. РаботыЭти ответы здесь не помогли мне. Итак, я попробовал это:
Это работает как шарм, теперь заголовок моего приложения не исчезает. Это гладко.
источник
TabLayout
. Проблема исчезла, как только я установил ее видимостьView.GONE
. Возможно, пришло время изменить мой макет.Чтобы сделать это программно во фрагменте, вы можете использовать следующий код
Поместите это в onResume ()
источник
Для будущих читателей.
Я хотел конкретного контроля над этой проблемой, поэтому я сделал следующее:
От фрагмента или действия скройте остальные виды (которые не нужны, когда клавиатура поднята), а затем восстановите их, чтобы решить эту проблему:
источник
view.post(Runnable runnable)
и установил видимость оттуда. Для меня это получилось здоровоПросто одна строка, которая будет добавлена ...
Добавьте
android:windowSoftInputMode="stateHidden|adjustPan"
необходимую активность вашегоmanifest file
.Я только что решил :)
источник
Для пользователей xamarin добавьте этот код в атрибут Activity класса MainActivity,
или вы можете добавить этот код
Window.SetSoftInputMode(Android.Views.SoftInput.AdjustNothing)
в метод OnCreate класса MainActivity.источник
Этот работал для меня
источник
Пока ответы мне не помогли, так как у меня есть кнопка и поле textInput (рядом) под textView, которое скрывалось клавиатурой, но это решило мою проблему:
источник
Добавьте следующий код в «активность» файла манифеста.
источник
Этот код работает.
источник
Это было лучшее, что сработало для меня
Попробуй это!
источник
Ну, я смотрел эти ответы, но в моем случае я попал в ту же проблему и нашел убежище благодаря очень удобному и простому решению, которое включает в себя добавление очень маленького невинного атрибута в ваш тег Scrollview, находящийся в вашем XML-файле. Это
Удачи!
источник
Этот работает на меня.
источник
Для прокрутки:
если после добавления
android:windowSoftInputMode="stateHidden|adjustPan"
в ваш Android манифест все равно не работает.На это может повлиять то, что когда появится клавиатура, она перейдет в режим прокрутки, и если ваша кнопка / какие-либо объекты не будут отображены в окне прокрутки, тогда объекты будут следовать за клавиатурой и перемещать ее положение.
Проверьте свой XML, где находится ваша кнопка, и убедитесь, что она находится под вашей прокруткой, а не за ее пределами.
Надеюсь, это поможет. : D
источник
В моем случае мне нужно было, чтобы клавиатура оставалась скрытой, и сразу после нажатия кнопки мой макет должен быть скорректирован, поэтому я просто добавил эту команду в манифест, и она стала супер правильной.
источник
Когда вы хотите скрыть вид при открытой клавиатуре.
Добавьте это в свою активность в файле манифеста
источник
Никто из них не работал для меня, попробуйте этот
источник
Главное окно действия не изменится, чтобы освободить место для виртуальной клавиатуры. Скорее, содержимое окна будет автоматически панорамироваться, так что текущий фокус никогда не будет скрыт клавиатурой, и пользователи всегда смогут увидеть, что они печатают.
Это может быть лучшим решением для того, что вы хотели.
источник
Попробуйте использовать это:
источник
Этот код может вам помочь. Используйте это в своем
oncreate
методе.источник
Включите в свой файл манифеста действие, которое вы хотите отобразить. Но убедитесь, что вы не используете полноэкранный режим.
источник
@manifest в вашей деятельности:
источник
Я решил свою проблему, добавив
В манифест файл добавить.
и установив ограничение Recyclerviews isScrollContainer в false.
источник