Android:IME活跃时的布局是什么?
-
28-09-2019 - |
题
也许有一些背景:我试图在可滚动的全屏幕上看到一个特定的键盘视图 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-Layout中的根元素。
谁能帮帮我吗?如果有人准备好XML风格的布局,我会很高兴看到它。
更新
到现在为止,我相信我认为IME视图将自己置于活动的布局层次结构时是错误的。
同时,我试图做一个 PopupWindow
工作,但无法提出可以解决隐藏光标的问题 EditText
.
因此,让我问一下:IME视图如何显示,或者如何编织到整体显示中?它如何在编辑字段下方滚动并将编辑字段移动并使其以其方式滚动?
解决方案
似乎IME无法达到。或至少该应用程序无法以任何方式访问它。
我现在对我的 EditText
和键盘。键盘不会徘徊在屏幕上,也不会其他任何花哨的东西。它安装在 EditText
. 。就是这样。它看起来并不壮观,但我们在这里同意用户可能不会输入长篇小说。
不隶属于 StackOverflow