Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
artushenko
3 / 3 / 0
Регистрация: 04.08.2011
Сообщений: 38
#1

Клавиатура наезжает на поле ввода - Программирование Android

04.06.2015, 15:10. Просмотров 4083. Ответов 15
Метки нет (Все метки)

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

Вот фрагмент из xlm из layout где описан EditText:
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:id="@+id/editStudentID"
        android:imeOptions="actionGo"
        android:layout_gravity="center"
        android:width="0dp"
        android:textSize="22dp"
        android:textIsSelectable="false"
        android:gravity="center"
        android:phoneNumber="false"
        android:numeric="integer"
        android:lines="1"
        android:maxLength="14"
        android:minWidth="200dp"
        android:layout_below="@+id/textView11"
        android:layout_centerHorizontal="true"
        android:textStyle="bold" />


В AndroidManifest.xml вроде все прописал, как надо:
Кликните здесь для просмотра всего текста
XML
1
2
3
        <activity
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:windowSoftInputMode="adjustPan|adjustResize">
0
Миниатюры
Клавиатура наезжает на поле ввода  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2015, 15:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Клавиатура наезжает на поле ввода (Программирование Android):

Поле для ввода номера в формате: 38(0**)***-**-** - Программирование Android
Кто то делал поле для ввода номера в формате: 38(0**)***-**-** Мб как то быстренько это можно сделать ? То есть в поле должно быть...

Поле ввода адреса с динамическим выводом подсказки - Программирование Android
Всем привет! Подскажите пожалуйста каким образом возможно реализовать поле ввода почтового адреса с выводом подсказки с реальными...

Вставить слово в поле ввода другого приложения. Возможно ли такое? - Программирование Android
Добрый день! Задача следующая. Находясь в какой-либо программе X (курсор в поле EditText), пользователь вызывает мою программу Y, в...

Сохранить число в поле ввода после нажатия арифметического действия - Программирование Android
Постигаю андроид, ваяю свой 1 калькулятор. Уперся в проблему, но понимаю, как сделать что бы когда пользователь ввел 1 число, оно...

Не появляется виртуальная клавиатура при наведении курсора в поле ввода - Windows 8, 8.1
Всем привет. При наведении тыканьи пальцем в поле ввода текста, например в поисковике или адресной стоке, перестала автоматически...

Поле текста наезжает на футер - HTML, CSS
Здравствуйте! Вставил шорткод контактной формы на страницу http://infocar.pro/uslugi/konserzh/ но поле для написания текста ведет себя...

15
Hank
61 / 52 / 4
Регистрация: 28.12.2011
Сообщений: 291
05.06.2015, 23:48 #2
Попробуйте в манифесте с секции вашей активности добавить строку
XML
1
android:windowSoftInputMode="stateHidden"
0
artushenko
3 / 3 / 0
Регистрация: 04.08.2011
Сообщений: 38
08.06.2015, 09:10  [ТС] #3
Hank, увы, не помогло, проблема осталась.
0
Хаддар
21 / 21 / 2
Регистрация: 25.02.2012
Сообщений: 132
08.06.2015, 15:43 #4
Корневым элементом вашей активности (фрагмента) должен быть ScrollView, а в нём уже вложен ваш LinearLayout. Эта манипуляция позволит прокручивать содержимое и при активации поля ввода клавиатура не будет его перекрывать
0
artushenko
3 / 3 / 0
Регистрация: 04.08.2011
Сообщений: 38
08.06.2015, 16:51  [ТС] #5
Хаддар, уже даже не знаю, что и думать и этот метод тоже на работает. При открытии клавиатуры экран не скроллируется ни сам, ни жестом.
0
chizz
981 / 496 / 54
Регистрация: 19.03.2013
Сообщений: 3,091
Записей в блоге: 18
Завершенные тесты: 1
21.07.2015, 12:17 #6
Апну темку.
У меня такая же проблема. Как ее решить?

Добавлено через 4 минуты
Надо поиграться с windowSoftInputMode ..
0
artushenko
3 / 3 / 0
Регистрация: 04.08.2011
Сообщений: 38
21.07.2015, 12:28  [ТС] #7
Цитата Сообщение от chizz Посмотреть сообщение
Надо поиграться с windowSoftInputMode ..
Игрался, но это так ни к чему не привело. Видел аналогичную проблему в нескольких приложениях. Пока решения так и не нашел.
0
Pablito
2546 / 2028 / 632
Регистрация: 12.05.2014
Сообщений: 7,145
Завершенные тесты: 1
21.07.2015, 12:52 #8
что бы главный лаяут окна уменьшался в размерах надо в манифесте прописать
XML
1
android:windowSoftInputMode="adjustResize"
я вообще главный лаяут делаю кастомным классом, например наследуюсь от LinearLayout и в нем отслеживаю появление клавиатуры, а точнее момент когда размер лаяута уменьшается

так можно вообще часть элементов скрывать при появлении клавиатуры (View.GONE)
0
flatgad
geJI<|>eP
186 / 186 / 1
Регистрация: 22.07.2010
Сообщений: 733
11.02.2016, 19:06 #9
Повторно подниму тему, так как предыдущие ответы не помогли.
Вот нашел вариант
Java
1
android:windowSoftInputMode="adjustPan"
Оборачивал все в ScrollView не помогло.
Все вроде ок, но когда нажимаешь на кнопку на виртуальной клавиатуре активити возвращается в исходное положение и клавиатура закрывает поле ввода. Если вдруг у кого поучилось напишите плиз решение.
Заранее спасибо.
0
Pablito
2546 / 2028 / 632
Регистрация: 12.05.2014
Сообщений: 7,145
Завершенные тесты: 1
11.02.2016, 19:16 #10
зависит от лаяута и размещения в нем элементов
пример разметки увидеть надо
0
_Night_Scream_
76 / 75 / 8
Регистрация: 08.08.2013
Сообщений: 613
11.02.2016, 19:47 #11
Тоже тема коснулась.
На некоторых телефонах в landscape при появлении клавиатуры она вообще закрывает весь экран, editText становится дико растянутым и появляется справа кнопка указанная в типе клавиатуры (setImeOptions как я понимаю).
У меня alert dialog, так вот хочу чтобы не на одном устройстве этого не происходило и всегда было видно диалог и он смещался выше, если нужно, как тогда быть?
0
Pablito
2546 / 2028 / 632
Регистрация: 12.05.2014
Сообщений: 7,145
Завершенные тесты: 1
11.02.2016, 19:50 #12
короче, adjustPan нормально работает, я проверял как минимум на Linear и Relative лаяутах

что бы при редактировании в EditText клавиатура не разворачивала его на все окно в свойствах Edittext добавить
XML
1
android:imeOptions="flagNoExtractUi"
2
artushenko
3 / 3 / 0
Регистрация: 04.08.2011
Сообщений: 38
11.02.2016, 19:51  [ТС] #13
Мне помогло вот что
в AndroidManifest.xml прописал
Java
1
2
android:configChanges="keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustPan|adjustResize|stateHidden"
3
flatgad
geJI<|>eP
186 / 186 / 1
Регистрация: 22.07.2010
Сообщений: 733
12.02.2016, 17:07 #14
В принципе результат остался что и когда просто adjustPan. Проблема в том что при нажатии на кнопке виртуальной клавиатуры лейаут едет опять вниз, такое чувство что EditText теряет фокус и на этом все.

Добавлено через 16 минут
Блин вот я тупил.. Нашел почему так происходит : у меня активити на весь экран с флагом FLAG_FULLSCREEN а при таком варианте все выше описанные манипуляции не работают. буду думать как решить проблему. Все спасибо за ответы.
0
Pablito
2546 / 2028 / 632
Регистрация: 12.05.2014
Сообщений: 7,145
Завершенные тесты: 1
12.02.2016, 17:24 #15
Цитата Сообщение от flatgad Посмотреть сообщение
с флагом FLAG_FULLSCREEN
это без статусбара?
я проверил - все работает, но и не настаиваю, не мне жеэто нужно )
Цитата Сообщение от Паблито Посмотреть сообщение
зависит от лаяута и размещения в нем элементов
пример разметки увидеть надо
0
12.02.2016, 17:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2016, 17:24
Привет! Вот еще темы с ответами:

HTML!? Есть поле ввода Type text, после ввода текста и нажатия entrer теряется фокус, как его оставить в этом же поле? - HTML, CSS
HTML!? Есть поле ввода Type text, после ввода текста и нажатия entrer теряется фокус, как его оставить в этом же поле?

Как программно изменить цвет текста в поле ввода и как выделить весь текст в поле ввода по умолчанию - VBA
Как программно изменить цвет текста в поле ввода и как выделить весь текст в поле ввода по умолчанию? Т.е. надо чтоб по ходу выполнения...

Как сделать запрет ввода букв в поле для ввода input - JavaScript
Здравствуйте! Есть стандартное поле ввода &lt;input type='text' name='name1' size='30' maxlength='11'&gt; предназначенное для ввода...

Как числа из поля ввода в программе отправить в поле ввода браузера? - Delphi
Есть обработчик кнопки ,в поле ввода- числа. Как из поля программы отправить эти числа в нужное поле браузера????


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.