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

显然,没有区别。输入法真的没有了吗?

为了更容易理解,我用“#1”标记了我的应用程序,因此它RelativeLayout是我的 XML 布局中的根元素。

谁能帮帮我吗?如果有人准备好 XML 样式的布局,我会很高兴看到它。

更新

到目前为止,我认为 IME 视图会将自己放入活动的布局层次结构中的想法是错误的。

与此同时,我正在尝试制作一项PopupWindow工作,但无法想出一些可以解决EditText.

因此,让我问这个问题:IME 视图是如何出现的,或者它是如何融入到整体显示中的?它如何在编辑字段下方滚动并向上移动编辑字段并使其滚动?

4

1 回答 1

0

似乎无法访问 IME。或者至少应用程序无法以任何方式访问它。

我现在对我EditText的键盘和键盘有一个相当静态的视图。键盘不会悬停在屏幕上,也不会出现任何其他花哨的东西。它安装在EditText. 就是这样。它看起来并不壮观或任何东西,但我们在这里同意用户可能不会输入长篇故事。

于 2010-11-23T12:04:10.370 回答