Intereting Posts
Имя хоста может быть недействительным в выполнении HttpResponse для android Recyclerview Изменение элементов во время прокрутки Переход на Android-уровень Api от 23 до 22 в консоли разработчика Активность Android по блокировке блокировки по умолчанию Автономный тестовый проект для проекта библиотеки на Android Размеры экрана всплеска андроида для дисплеев ldpi, mdpi, hdpi, xhdpi? – например: 1024X768 пикселей для ldpi Получение контекста в onCreate в SQLiteOpenHelper Внедрение onShowCustomView на Android 3.1 исключает исключение в HTML5VideoFullScreen Ошибка разработки приложения для Android: «Плохой блок XML: размер заголовка 60 или общий размер 3932356 больше размера данных 0» Доступ к истории чата Google Talk BitmapFactory.decodeFile из памяти с изображениями 2400×2400 Как сделать listFooter недоступным для просмотра На Android, как я могу сделать странные области отсечения? EditText stucks после анимации и живой обратно на прокрутку …? Вы должны использовать тему Theme.AppCompat (или потомка) с этим действием

Что такое WindowManager в android?

Я попробовал поиграть в него, и нет прямого и / или четкого ответа.

Непонятно определение веб – сайта разработчика :

Интерфейс, который приложения используют для работы с диспетчером окон. Используйте Context.getSystemService(Context.WINDOW_SERVICE) чтобы получить один из них.

Может ли кто-то с простым английским языком объяснить, что это такое?

И как я могу использовать его для создания плавающего объекта, который остается в нескольких активах, хотя я перешел от одного к другому?

Solutions Collecting From Web of "Что такое WindowManager в android?"

Android WindowManager – это системная служба, которая отвечает за управление z-упорядоченным списком окон, какие окна видны и как они выложены на экране. Помимо прочего, он автоматически выполняет переходы окон и анимацию при открытии или закрытии приложения или при вращении экрана.

Каждое действие имеет окно, которое используется для отображения его содержимого на экране. Когда вы вызываете setContentView в действии, он прикрепляет это представление к окну по умолчанию для активности. Окно по умолчанию заполняет экран, так что окно активности скрывает любые другие действия – WindowManager отобразит любое окно сверху. Поэтому, как правило, вам не нужно беспокоиться о Windows – вы просто создаете активность, и Android сделает все остальное за вас.

Но вам нужно взаимодействовать с WindowManager, если вы хотите сделать что-то необычное, как создавать плавающие окна, которые не заполняют экран. Если вы хотите создать плавающее окно, которое видимо перед другими приложениями, вы не можете использовать действие, потому что ваша деятельность остановится, когда другое приложение появится на переднем плане, и его окно будет скрыто или уничтожено. Вместо этого вам нужно отобразить окно из фоновой службы. Например:

 WindowManager.LayoutParams p = new WindowManager.LayoutParams( // Shrink the window to wrap the content rather than filling the screen WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, // Display it on top of other application windows, but only for the current user WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, // Don't let it grab the input focus WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, // Make the underlying application window visible through any transparent parts PixelFormat.TRANSLUCENT); // Define the position of the window within the screen p.gravity = Gravity.TOP | Gravity.RIGHT; px = 0; py = 100; WindowManager windowManager = (WindowManager)getSystemService(WINDOW_SERVICE); windowManager.addView(myView, p); 

Для этого вам нужно будет добавить следующие разрешения на ваш AndroidManifest.xml

 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 

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

Вот хороший пример с открытым исходным кодом для плавающего объекта. Пример плавающего объекта