android: как предотвратить изменение размера окна при отображении виртуальной клавиатуры - PullRequest
22 голосов
/ 03 марта 2011

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

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

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

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

Спасибо ..

Ответы [ 3 ]

13 голосов
/ 16 октября 2014

Я нашел решение .. для специально пользователей "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>
11 голосов
/ 03 марта 2011

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

4 голосов
/ 24 сентября 2011

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

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

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

...