2012-06-25 6 views
2

С моей точки зрения, мягкая клавиатура на самом деле является диалоговым окном, которое лежит в основе всех других окон аппликации. Когда приложение запрашивает клавиатуру, ViewRoot (и окно) приложения изменяется в верхней части экрана, что позволяет видеть клавиатуру.Как выглядит мягкая клавиатура на Android?

До сих пор так хорошо ...

То, что я не понимаю, как ключ просмотра (что сине-иш вид, который показывает увеличенный прессованный ключ - это на самом деле TextView) показывает вверх сверху окна приложения. В конце концов, окно клавиатуры находится под окном приложения, поэтому я предполагаю, что любое представление, созданное в этом окне, будет существовать только за окном приложения. Имеет ли этот предварительный просмотр TextView какие-либо особые характеристики? Означает ли z-порядок взглядов согласно порядку их создания? (поэтому, хотя два вида обращены к одной и той же поверхности, их z-порядок отличается?)

+1

Существует код с мягкой клавиатурой, который поставляется с SDK. :) http://developer.android.com/tools/samples/index.html – t0mm13b

+0

t0m и что? Образец из google не имеет никакого отношения к этому вопросу. Кроме того, по крайней мере, ссылку на образец. Хотел бы я скомпенсировать комментарии! – edthethird

ответ

0

Как оказалось, расположение клавиатуры на самом деле сверху. Хотя его окно, возможно, было создано до того, как приложение даже запустилось, это диалоговое окно, что означает, что оно добавляется в верхнюю часть иерархии окон. Единственное уловка здесь в том, что окно клавиатуры - это размер всего экрана (клавиатура рисуется снизу и черный фон над ней). Поскольку его окно верхнего окна, можно было бы ожидать, черный фон музыкального инструмента прийти в верхней части приложения, активированного его ...

Решения: Окно помощи клавиатуры имеет полупрозрачный свойство! Как оказалось, черный фон не нарисован из-за этого факта, что означает, что все, что показывало приложение, можно увидеть. Мне потребовалось некоторое время, чтобы понять, что один из них ...