Andriodソフトキーボードの登場を解決し、元のレイアウトを上に上げる方法

3578 ワード

解決策はmainfest.xmlでは、そのActivityに:
android:windowSoftInputMode="adjustPan|stateHidden"

元のActivityのレイアウトを上に上げることはありません.
 
%¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
 
今日は検索機能を作ります.検索インタフェースはAutoCompleteTextViewで検索バーを作り、次はlistviewで検索結果を表示します.私のメインインタフェースは下部にtabでメインインタフェースナビゲーションをしました.検索ボタンがあります.検索バーに文字が入力されたときにソフトウェアディスクがポップアップしますが、何か設定しないとソフトキーボードが弾き出すと同時に、私の下のtabを画面の上にナビゲートして、インタフェースの表示の歪みにしましょう.その後、対応するactivity(例えばtabのactivityで、adjustpanを使っています)に追加する解決方法を見つけました.
Android:windowSoftInputModeという属性ですが、この属性について詳しく説明します.
& X! Q6c9 }% i. ]6 @0 Y"N6^  d  {"X
WindowSoftInputModeプロパティ設定値の説明.
                         "stateUnchanged", "stateHidden",
                         "stateAlwaysHidden", "stateVisible",
                         "stateAlwaysVisible","adjustUnspecified",
                         "adjustResize", "…… >

attributes:
android:windowSoftInputMode
アクティブなメインウィンドウが、画面に含まれるソフトキーボードウィンドウとどのように対話するか.この属性の設定は2つのことに影響します7 S 7 U+S!p7 s( U) n: t: m& N :
1>ソフトキーボードの状態--非表示または表示か--アクティブ5 w$r-U 9 i"h.O'M(Activity)がユーザーの注目の焦点となっている.
2>アクティブなメインウィンドウの調整:アクティブなメインウィンドウのサイズを小さくして、スペースを空けてキーボードを配置するか、アクティブなウィンドウの部分がキーボードで覆われているときにその内容の現在の焦点が表示されます.
この設定は、次のリストの値または「state...」の値に+s.Z「m 5 u:{;k;B 7 v 4 Q」adjust...」の値を加えたものでなければなりません.いずれかのグループに複数の値を設定します.「state...」valuesは、例えば、&mdashでは定義されていない結果があります.各値の間に+H 8 v$Q#~5 f 3 B&`-G 8 c$y|で区切られます.たとえば、
ここで設定した値は8 A:N!L'x 0`:C('H 0 N"g,w 2 W)K F#y 2 l!c"stateUnspecified"と"adjustUnspecified"を除く3^,p 2 E G:I 2 y/V)は、トピックで設定した値を上書きします
トピックで設定した値を上書きします

説明
"stateUnspecified"
ソフトキーボードのステータス(非表示または表示)は指定されていません.適切なステータスまたはトピックに依存する設定が選択されます.これは、ソフトウェアディスクの動作のデフォルトの設定です.
"stateUnchanged"
ソフトキーボードは、メインウィンドウが前面に表示されたときに、最後にどの状態であったかにかかわらず、表示または非表示に保たれます.
"stateHidden"
ユーザーがActivityを選択すると、ソフトキーボードが非表示になります.つまり、ユーザーがこの#^*{1 w.C:Y-}Activityにナビゲートしたと判断した場合、別の:}/Nから離れるために戻るのではなく、戻ります.p( a* M% W. b%m9 b# u Activity.
"stateAlwaysHidden"
ソフトキーボードは常に非表示で、Activityメインウィンドウがフォーカスを取得すると表示されます.
"stateVisible"
ソフトキーボードが表示され、それが正常に適切である場合&d%G.y 8[;G;:v(「s 2 I/J$s 2 w 7 J)j 6 O&J,f Activityメインウィンドウにユーザがナビゲートした場合).
"stateAlwaysVisible"
ユーザがこの6 Z%C e/r 0 u,M`7 N r Activityを選択すると、ソフトキーボードが表示する(すなわち、ユーザがこれにナビゲートすると判断した場合).m; r6 r% t. `# A4 C0^, t; d! V Activityは、別のActivityから離れるために戻るのではなく、戻る.
"adjustUnspecified"
「H 9 b!V 3 h 5_&O$d$M B」V 5 j:d Activityメインウィンドウのサイズを変更してソフトキーボードのスペースを残すか、画面上の現在のフォーカスが表示されるかは指定されません.ウィンドウのコンテンツがスクロールできるレイアウトビューがあるかどうかに主に依存するモードが自動的に選択されます.このようなビューがある場合、このウィンドウはサイズを調整し、スクロールウィンドウの内容を小さな領域で表示できると仮定します.これはメインウィンドウのデフォルトの動作設定です.
"adjustResize"
この/M"R:m-W(Z.Q 6 d*A Activityメインウィンドウは常に画面の大きさを調整してソフトキーボードのスペースを残す
"adjustPan"
Activityメインウィンドウでは、ソフトキーボードのスペースを確保するために画面のサイズを調整しません.逆に、現在のウィンドウの内容は自動的に移動し、現在のフォーカスがキーボードで上書きされず、ユーザーが常に入力内容の部分を見ることができるようにします.これは、ユーザがソフトキーボードをオフにして上書きされたコンテンツとの相互作用を得ることができるため、通常、サイズ変更は望ましくない.
2013218読後感
この問題は長い間困っていたので、今日は上の文章を見て解決しました.ブロガーの共有に感謝します.
2013218終了