可能是背景:我正在尝试在可滚动的全屏上显示一个特定的键盘视图
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和我的弹出视图:
根目录: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.EditText版本
显然,没有区别。时间真的不见了吗?
为了便于理解,我将我的应用标记为“#1”,因此
RelativeLayout
是XML布局中的根元素。
更新
到目前为止,我认为我错误地认为IME视图将自己放入活动的布局层次结构中。
与此同时,我试图
PopupWindow
工作,但无法想出解决隐藏光标在
编辑文本
因此,让我来问一个问题:IME视图是如何显示的,或者它是如何编织到整体显示中的?它如何在编辑字段下面滚动自己,并向上移动编辑字段,使其按原来的方式滚动?