#android #overlay
#Android #наложение
Вопрос:
просто простой вопрос (надеюсь):
Есть ли какой-нибудь простой способ сделать простое наложение полупрозрачного экрана на Android? Для начала идеально подойдет просто сплошной цвет. Я бы поспорил, что это не будет запущено как действие, а будет запущено как служба, поскольку наложение должно отображаться поверх всего всегда, пока не отключено, независимо от того, запущено / приостановлено / остановлено приложение, в котором размещено это наложение.
Легко создать наложение для определенного действия / фрагмента, но я бы хотел, чтобы это наложение отображалось по всему экрану независимо от того, что на экране (за исключением, возможно, диалоговых окон с ошибками, которые, похоже, берут верх над чем угодно).
Редактировать: Чтобы добавить больше информации, такие приложения, как «twilight» и «screen filter», похоже, способны выполнять подобные действия, в то время как они способны отображать цвет с пользовательской прозрачностью по всему экрану, независимо от того, запущено приложение или нет.
Комментарии:
1. Для меня звучит как пользовательский лаунчер.
2. @Tigger , смотри отредактированный вопрос. Это могло бы дать лучшее представление о том, что я имею в виду.
3. Что вам нужно, так это
WindowManager
. Создайте окно типаWindowManager.LayoutParams.TYPE_SYSTEM_ALERT
и добавьте его в WindowManager, и у вас будет наложение поверх всего. PS. Окно здесь на самом деле представляет собой обычный вид.
Ответ №1:
Да, можно реализовать наложение на весь экран, используя SYSTEM_ALERT_WINDOW
разрешение и WindowManager
, вот как работают Facebook chat heads. В принципе, вам нужно добавить свой View
в WindowManager
экземпляр, выполнить поиск WindowManager
для получения дополнительной информации.
Комментарии:
1. Проведя некоторое исследование, это, похоже, является общим мнением. Не могли бы вы сказать мне, в чем разница между TYPE_SYSTEM_ALERT и SYSTEM_ALERT_WINDOW?
2. Извините, это была ошибка,
SYSTEM_ALERT_WINDOW
это разрешение, которое вы искали. Я соответствующим образом обновил свой ответ.