Плавающее приложение на Android (оконное приложение)

Кто-нибудь знает, как я могу создать плавающее окно? (Изображение ниже показывает, что я имею в виду) - исходный код

Я читал на разных веб-сайтах, что для этого приложение должно работать как служба, которая, в свою очередь, должна быть запущена как действие с использованием 'TYPE_SYSTEM_ALERT'.

Если вышеприведенное верно или не соответствует действительности... Я до сих пор не знаю, как реализовать код. Может кто-нибудь написать код, показывающий, как простое приложение (нажмите кнопку и сделайте что-нибудь) можно превратить в плавающее окно, спасибо:)

Это также может помочь

Приложение с плавающим окном

4 ответа

Решение

Эти вопросы и ответы (ссылка ниже) полезны для достижения того, что я хотел:

Можно ли раздуть XML-макет в Сервисе? (Android)

Создание системного оверлея (всегда сверху)

Самый простой способ - использовать отличную библиотеку Standout с открытым исходным кодом: https://github.com/pingpongboss/StandOut

Вы можете использовать WindowManager, чтобы раздуть представление. Что-то вроде этого:

LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);


overlay = (RelativeLayout) inflater.inflate(R.layout.overlay, null);

final LayoutParams params = new LayoutParams(
                        LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT,
                        LayoutParams.TYPE_SYSTEM_ALERT,
                        LayoutParams.FLAG_NOT_FOCUSABLE | LayoutParams.FLAG_NOT_TOUCH_MODAL,
                        PixelFormat.TRANSLUCENT);


WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
if (overlay.isShown()){
        wm.updateViewLayout(overlay, params);
}
else {

        // add overlay
        wm.addView(overlay, params);
}

При этом вы можете раздуть любой взгляд на любое приложение.

Надеюсь, это поможет вам!

Вы также можете проверить Tooleap SDK: http://www.tooleap.com/

Другие вопросы по тегам