Intereting Posts
Android, приложения для загрузки и обновления в Google Play Почему эмулятор Android замедляется? Dagger2 не генерирует файлы «Dagger_» Как рисовать круг через XML Drawable – Android? Встроенная USB-отладка на Chrome 32 не обнаруживает устройство Примеры данных Android.os.Build, пожалуйста Скрытие ActionBar в RecyclerView / ListView onScroll Как автоматически добавлять тысячи разделителей, поскольку число вводится в EditText Ошибка Android appcompat v7 Возможно ли динамически загружать класс Activity из библиотеки jar на sdCard и фактически использовать его? Не может оценивать модуль «реагировать на собственные карты»: конфигурация с именем «по умолчанию» не найдена Android.os.FileUriExposedException: файл: ///storage/emulated/0/test.txt выставляется вне приложения через Intent.getData () Почему AndroidTestCase.getContext (). GetApplicationContext () возвращает значение null? Элемент, который вы запросили, недоступен для покупки – андроид в биллинге приложения Можно ли заполнить ListView снизу?

Как перемещать макет, когда отображается мягкая клавиатура Android

У меня есть экран входа в систему с двумя EditTexts и кнопка входа в мой макет. Проблема в том, что когда я начинаю печатать, отображается мягкая клавиатура и закрывается кнопка входа. Как я могу нажать макет вверх или над клавиатурой, когда он появится?

Я не хочу использовать ScrollView , просто хочу реализовать его без прокрутки вниз. Пожалуйста, предложите мне какой-то способ сделать это. Заранее спасибо.

Solutions Collecting From Web of "Как перемещать макет, когда отображается мягкая клавиатура Android"

Устанавливать свойство SoftInput Mode Window для настройкиPan и adjustResize

 <activity android:windowSoftInputMode="adjustPan|adjustResize"> </activity> 

Попробуйте это в файле манифеста Android, соответствующем действию.

 <activity android:windowSoftInputMode="adjustPan"> </activity> 

Используйте этот код в onCreate() :

 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 

только

 android:windowSoftInputMode="adjustResize" 

В вашем теге активности внутри файла манифеста сделают трюк

Поместите эту строку в время объявления активности в manifest.xml

 <android:windowSoftInputMode="adjustPan"> 

Я каким-то образом достиг этого, зная состояние мягкой клавиатуры на устройстве. Я перемещаю макет в позицию y, когда клавиатура отображается и возвращается в исходное положение, когда она не показана. Это прекрасно работает, следуя рекомендациям https://stackoverflow.com/a/4737265/1063861

Поместите это в свое объявление активности в файл манифеста <activity android:windowSoftInputMode="adjustPan|adjustResize"> </activity>

Или если вы хотите, вы можете добавить в метод onCreate () своей деятельности

 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 

Это все, что нужно:

 <activity android:windowSoftInputMode="adjustResize"> </activity> 

Соглашаясь с этим руководством , правильный способ достижения этого – объявить в своем манифесте:

 <activity name="EditContactActivity" android:windowSoftInputMode="stateVisible|adjustResize"> </activity> 

Когда появляется экранная клавиатура, он изменяет размер основного макета, и вам нужно сделать это для прослушивания этого основного и внутри этого прослушивателя, добавить scrollT0(x,y) для прокрутки вверх.

Если вы работаете с xamarin, вы можете поместить этот код WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize в атрибуте активности класса MainActivity. Например, теперь атрибут активности будет выглядеть ниже

  [Activity(WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize)] public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity { //some code here. } 
 android:fitsSystemWindows="true" 

Добавить свойство в основной макет файла макета и

 android:windowSoftInputMode="adjustResize" 

Добавьте строку в свой файл Manifest.xml на свою Activity

Его идеальная работа для меня.

Используйте Relative layout, чтобы настроить вид, чтобы вы могли видеть этот вид во время ввода текста

Это работает как прелесть для меня

 getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 

Вы должны использовать «android: windowSoftInputMode =» adjustPan | stateHidden »в вашем файле andfine Mainfest.xml, где вы объявляете ее активность. Это позволит настроить содержимое макета, когда клавиатура отображается в макете.