Как вы вообще добавляете представление к текущей активности в Android? - PullRequest
2 голосов
/ 23 марта 2012

Я пишу библиотеку для мобильных устройств.Эта библиотека уведомляет пользователей, когда происходят определенные события (вход в систему, действия и т. Д.).То, как это работает в iOS, смоделировано после GameCenter.Окно анимируется вниз от верхней части экрана, уведомляя пользователя, а затем отключается.

В iOS я могу легко получить текущий вид в окне UIWindow и добавить к нему свой вид.Я довольно новичок в Android, и я не могу понять, как это возможно.Похоже, если вы не знаете текущее действие и его макет, вы не можете добавить к нему представление.

Возможно ли то, чего я хочу достичь?Это даже правильное решение для Android или пользователь Android ожидал бы чего-то другого?

Ответы [ 3 ]

1 голос
/ 23 марта 2012

Вы можете получить корневой вид действия, вызвав getWindow (). GetDecorView () для объекта действия или внутри действия. Если это ViewGroup, вы можете добавить представление, используя addView (View viewToAdd), если это не экземпляр ViewGroup, вы не можете добавить к нему представление, если не заключите его в ViewGroup.

0 голосов
/ 23 марта 2012

Если это ваши первые приложения в Android, используйте XML-слои в ресурсах.В этом случае вы всегда должны знать, чем вы занимаетесь. Без этого вы не можете читать ресурсы.

Если вы используете чистый код для представлений, вы всегда можете получить свою активность, потому что каждая ваша деятельность является классом,Поместите все операции в базу классов для всех ваших действий и используйте this.class в них для получения текущего имени действия.

Вы также можете передать текущую активность в качестве параметра в библиотечные функции.Таким образом, у вас есть доступ не только к его корневому представлению, но и к контексту, и это позволит вам показывать всплывающие сообщения о проблемах и иметь доступ к ресурсам.(Передача контекста - очень распространенная практика в кодировании Android.)

0 голосов
/ 23 марта 2012

Все, что вам нужно сделать, это позвонить addView() в ViewGroup.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...