Android中的软键盘是如何绘制的?

Android中的软键盘是如何绘制的?,android,android-layout,z-order,Android,Android Layout,Z Order,据我所知,软键盘实际上是一个对话框窗口,它是所有其他应用程序窗口的基础。 当应用程序请求键盘时,应用程序的ViewRoot(和窗口)将调整到屏幕顶部,从而使键盘可见 到目前为止还不错 我不明白的是按键预览(显示放大按键的蓝色视图-实际上是文本视图)如何显示在应用程序窗口的顶部。毕竟,键盘窗口位于应用程序窗口的下方,因此我假设在该窗口上创建的任何视图都只存在于应用程序窗口的后面。。 此预览文本视图是否有任何特殊特征? 视图的z顺序是根据它们的创建顺序决定的吗?(因此,即使两个视图绘制到同一个曲面,

据我所知,软键盘实际上是一个对话框窗口,它是所有其他应用程序窗口的基础。 当应用程序请求键盘时,应用程序的ViewRoot(和窗口)将调整到屏幕顶部,从而使键盘可见

到目前为止还不错

我不明白的是按键预览(显示放大按键的蓝色视图-实际上是文本视图)如何显示在应用程序窗口的顶部。毕竟,键盘窗口位于应用程序窗口的下方,因此我假设在该窗口上创建的任何视图都只存在于应用程序窗口的后面。。 此预览文本视图是否有任何特殊特征?
视图的z顺序是根据它们的创建顺序决定的吗?(因此,即使两个视图绘制到同一个曲面,它们的z顺序也不同?

事实证明,键盘的布局实际上位于顶部。 虽然its窗口可能是在应用程序启动之前创建的,但它是一个对话框窗口,这意味着它被添加到windows层次结构的顶部。 这里唯一需要注意的是,键盘的窗口是整个屏幕的大小(键盘在底部绘制,上面有黑色背景)。由于它的窗口是顶部窗口,人们会期望键盘的黑色背景位于激活它的应用程序的顶部…

解决方案:键盘窗口具有半透明属性!事实证明,由于这个事实,没有绘制黑色背景,这意味着无论应用程序显示什么,都可以看到。
我花了很长时间才弄明白…

事实证明,键盘的布局实际上是在顶部。 虽然its窗口可能是在应用程序启动之前创建的,但它是一个对话框窗口,这意味着它被添加到windows层次结构的顶部。 这里唯一需要注意的是,键盘的窗口是整个屏幕的大小(键盘在底部绘制,上面有黑色背景)。由于它的窗口是顶部窗口,人们会期望键盘的黑色背景位于激活它的应用程序的顶部…

解决方案:键盘窗口具有半透明属性!事实证明,由于这个事实,没有绘制黑色背景,这意味着无论应用程序显示什么,都可以看到。
我花了很长时间才弄明白这一点……

SDK附带了一个软键盘示例代码。:)那又怎样?谷歌的一个样本与这个问题没有任何关系。另外,至少要链接到示例。我希望我能否决这些评论!SDK附带了一个软键盘示例代码。:)那又怎样?谷歌的一个样本与这个问题没有任何关系。另外,至少要链接到示例。我希望我能否决这些评论!