Подтвердить что ты не робот

Android: как предотвратить изменение размера окна при отображении виртуальной клавиатуры

Я использую приложение с вкладками. Есть мое приложение EditText. Когда я нажимаю на EditText, окно становится измененным, а виртуальная клавиатура отображается в нижней части окна. Но четыре вкладки отображаются в верхней части клавиатуры.

Я не хочу отображать свои вкладки, когда отображается keyborad. Или я не хочу изменять размер окна. Мне нужно только скрывать вкладки и другие вещи под EditText.

Я использую все параметры с 'android: windowSoftInputMode' в моем манифесте. но я не вижу различий.

Пожалуйста, дайте мне решение.

Спасибо..

4b9b3361

Ответ 1

Когда появляется виртуальная клавиатура, представление не изменяется, а перемещается. Смотрите это сообщение в блоге, чтобы предотвратить это.

Ответ 2

Я нашел решение.. специально для пользователей "sencha/phonegap/cordova".

Отредактируйте основной файл в файле манифеста android, добавьте этот атрибут.

Android: windowSoftInputMode = "adjustNothing"

  <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:windowSoftInputMode="adjustNothing"  android:label="@string/app_name" android:launchMode="singleTop" android:name="com.company.appName.MainActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Black.NoTitleBar">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter> 
</activity>

Ответ 3

У меня такая же проблема, и я не нашел сообщение в блоге, предложенное Мудасиром. Я не хочу, чтобы мое окно перемещалось или изменялось, или что-либо еще, поэтому ни adjustPan, ни adjustResize не работает.
Я просто хочу, чтобы он оставил мое окно без изменений.

Я обнаружил, что могу вызвать getWindow, а затем установить положение y и силу тяжести на top|center_horizontal, и это исправляет его для окон, где они не перекрываются с клавиатурой при появлении клавиатуры.

Для больших окон, которые частично покрыты клавиатурой, похоже, не существует решения, препятствующего нажатию на клавиатуру.