24

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

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

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

解決策を教えてください。

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

4

3 に答える 3

21

私は解決策を見つけました..特別に「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>
于 2014-10-16T07:18:23.817 に答える
11

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


Android でのキーボード入力の処理も参照してください。
    

于 2011-03-03T12:43:20.990 に答える
4

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

呼び出して、 y 位置重力を にgetWindow設定できることがわかりました。これにより、キーボードが表示されたときにキーボードと重ならないウィンドウが修正されます。top|center_horizontal

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

于 2011-09-24T00:23:27.773 に答える