webdevqa.jp.net

EditTextをキーボードの上に配置

次のようなEditTextがあります(「ボトムグラビティ」を使用):

enter image description here

EditTextを押すと、キーボードが表示され、入力中の文字が表示されなくなります(EditTextはキーボードの後ろの下部にあるため)。 EditTextが押されたときに、キーボードのすぐ上に自動的に移動するにはどうすればよいですか?

最後に、次のように表示されるとよいでしょう。

enter image description here

マイコード:

// LINEAR LAYOUT
LinearLayout layout = new LinearLayout(getApplicationContext());
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);
// TEXTVIEW
layout.addView(tv);
// EDITTEXT
et.setGravity(Gravity.BOTTOM);
et.setInputType(InputType.TYPE_CLASS_TEXT);
et.setImeOptions(EditorInfo.IME_ACTION_SEND);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
                        params.gravity = Gravity.BOTTOM;
                        et.setLayoutParams(params); // SOMETHING LIKE ONTOUCH -> MOVE UPWARDS
                        layout.addView(et);
19
blackst0ne

マニフェストファイルで、この特定のアクティビティに次のコードを追加します

<activity Android:windowSoftInputMode="adjustPan">

詳細については、 this docを確認してください。

35
Varun Singh

使用する

Android:windowSoftInputMode="stateVisible|adjustResize" 

マニフェストファイル内。 開発者サイト を参照してください

6
Karthikeyan