据我了解,软键盘实际上是一个对话窗口,位于所有其他应用程序窗口的基础上。当应用程序请求键盘时,应用程序的 ViewRoot(和窗口)将调整到屏幕顶部,从而使键盘可见。
到现在为止还挺好...
我不明白的是键预览(显示放大的按下键的蓝色视图 - 它实际上是一个 TextView)如何显示在应用程序窗口的顶部。毕竟,键盘的窗口位于应用程序窗口的下方,所以我假设在该窗口上创建的任何视图都只会存在于应用程序窗口的后面。这个预览 TextView 是否有任何特殊特征?视图的 z 顺序是根据它们的创建顺序决定的吗?(所以即使两个视图被绘制到同一个表面,它们的 z 顺序也不同?)