web-dev-qa-db-ja.com

android:仮想キーボードを表示するときにウィンドウのサイズ変更を防ぐ方法

タブ付きアプリケーションを使用しています。 EditText私のアプリケーションがあります。 EditTextをクリックすると、ウィンドウのサイズが変更され、ウィンドウの下部に仮想キーボードが表示されます。しかし、4つのタブがキーボードの上部に表示されています。

キーボードが表示されているときにタブを表示したくない。または、ウィンドウのサイズを変更したくありません。私の必要性は、EditTextの下のタブやその他のものを非表示にすることだけです。

マニフェストで「Android:windowSoftInputMode」を使用してすべてのオプションを使用しています。でも違いはわかりません。

解決策をください。

ありがとうございました..

23
Jomia

仮想キーボードが来ると、ビューのサイズは変更されませんが、移動されます。これを防ぐには、こちら ブログ投稿 を参照してください。


こちらもご覧ください
Androidでのキーボード入力の処理

11
Mudassir

私は特別に「sencha/phonegap/cordova」ユーザーのための解決策を見つけました。

Android manifest fileのメインアクティビティ)を編集して、この属性を追加します。

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>
16
Rupesh

私も同じ問題を抱えており、Mudassirによって提案されたブログ投稿は役に立ちません。ウィンドウを移動またはサイズ変更したくないので、adjustPanadjustResizeも機能しません。
ウィンドウの位置を変更せずにそのままにしたい。

私はgetWindowを呼び出し、次にy位置および重力top|center_horizontalに設定できることを発見しました。キーボードが表示されたら、キーボードと重なります。

キーボードによって部分的に覆われている大きなウィンドウの場合、キーボードがウィンドウを押しやるのを防ぐ解決策はないようです。

4
satur9nine