EditText
多分いくつかの背景:ユーザーがクリックしたときに、スクロール可能な全画面表示の上に特定のキーボードビューを表示しようとしています。問題は、カーソルが一番下にある場合EditText
、ポップアップしたキーボード ビューによって隠されていることです。
通常の IME ビューとの明らかな違いは、IME ビューが をEditText
一番上に押し上げ、ユーザーEditText
がその一番上の領域全体をスクロールできるようにすることです。キーボードビューは一番下にあります。すべてが表示され、アクセス可能です。それは私がポップアップで達成したいことでもあります。
したがって、私の質問は次のとおりです。通常の IME が表示されている場合、レイアウトはどのように見えますか? アニメーションは必要ありません(難しい場合は、その部分をスキップできます)。
何が違うのかを見るために、レイアウト階層をループしてみました。IMEが表示されているのは次のとおりです。
root: com.android.internal.policy.impl.PhoneWindow$DecorView
android.widget.LinearLayout
android.widget.FrameLayout
android.widget.TextView
android.widget.FrameLayout #1
android.widget.RelativeLayout
android.widget.ScrollView
android.widget.EditText
com.mytest.KeyboardView
ここでは、IME とポップアップ ビューが表示されていません。
root: com.android.internal.policy.impl.PhoneWindow$DecorView
android.widget.LinearLayout
android.widget.FrameLayout
android.widget.TextView
android.widget.FrameLayout #1
android.widget.RelativeLayout
android.widget.ScrollView
android.widget.EditText
com.mytest.KeyboardView
明らかに、違いはありません。IME が本当に見つからないのですか?
わかりやすくするために、アプリに「#1」のマークを付けたので、これRelativeLayout
が XML レイアウトのルート要素になります。
誰でも私を助けてもらえますか?だれかが XML スタイルのレイアウトを用意していれば、喜んでそれを見てみたいものです。
アップデート
今では、IME ビューがそれ自体をアクティビティのレイアウト階層に入れるという考えは間違っていたと思います。
その間、私はPopupWindow
作品を作ろうとしていましたが、EditText
.
では、IME ビューはどのように表示されるのでしょうか、それともディスプレイ全体にどのように組み込まれているのでしょうか。編集フィールドの下にスクロールし、編集フィールドを上に移動して、そのようにスクロールするにはどうすればよいですか?