3

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 ビューはどのように表示されるのでしょうか、それともディスプレイ全体にどのように組み込まれているのでしょうか。編集フィールドの下にスクロールし、編集フィールドを上に移動して、そのようにスクロールするにはどうすればよいですか?

4

1 に答える 1

0

IMEに到達できないようです。または、少なくともアプリからはアクセスできません。

これで、自分EditTextとキーボードのかなり静的なビューが表示されます。キーボードが画面にカーソルを合わせたり、その他の凝ったものを表示したりすることはありません。の下に取り付けられていますEditText。それでおしまい。見事なことなどは見えませんが、ここでは、ユーザーが長いストーリーを入力しない可能性があることに同意しました。

于 2010-11-23T12:04:10.370 に答える