Наложение на весь экран

#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 это разрешение, которое вы искали. Я соответствующим образом обновил свой ответ.