No Android 7.0 e versões mais recentes, os dispositivos podem mostrar vários apps ao mesmo tempo usando o recurso de várias janelas. O Android oferece suporte a três configurações de várias janelas:
- O Freeform permite que os usuários redimensionem dinamicamente os painéis de atividades e tenham mais de dois apps visíveis na tela.
- A tela dividida é a implementação padrão de várias janelas, que oferece dois painéis de atividades em que os usuários podem colocar apps.
- O recurso picture-in-picture (PIP) permite que dispositivos Android reproduzam conteúdo de vídeo em uma pequena janela enquanto o usuário interage com outros apps.
Implementação
O suporte a várias janelas é ativado por padrão no Android 7.0 e versões mais recentes.
Para desativar, defina a flag config_supportsMultiWindow
como
false
no arquivo
config.xml do dispositivo.
O recurso de várias janelas está desativado por padrão em todos os dispositivos com pouca memória RAM (dispositivos que
declaram ActivityManager.isLowRam()
). Dispositivos com pouca memória RAM
ignoram o valor da flag config_supportsMultiWindow
.
Freeform
Depois de ativar o modo de várias janelas com a
flag config_supportsMultiWindow
, os fabricantes de dispositivos podem
permitir o uso de janelas de forma livre. Esse modo é mais útil em dispositivos maiores,
como tablets.
Para oferecer suporte ao modo de formato livre, ative o
recurso do sistema
PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT
em
/android/frameworks/base/core/java/android/content/pm/PackageManager.java
e defina config_freeformWindowManagement
como true
em
config.xml.
<bool name="config_freeformWindowManagement">true</bool>
No Android 16, os OEMs podem oferecer suporte a janelas de área de trabalho no dispositivo para uma configuração de várias janelas de forma livre usando Ativar janelas de área de trabalho.
Ativar o modo de janela para computador
Siga estas etapas para ativar a janela de área de trabalho no seu dispositivo:
- Confira se o dispositivo oferece suporte a janelas livres.
-
Defina a flag
config_isDesktopModeSupported
da sobreposição de configuração comotrue
emconfig.xml
:<bool name="config_isDesktopModeSupported">true</bool>
-
Para ativar o janelamento de forma livre na tela interna do dispositivo, defina a flag de sobreposição de configuração
config_canInternalDisplayHostDesktops
comotrue
emconfig.xml
. Essa flag será ignorada seconfig_isDesktopModeSupported
forfalse
:<bool name="config_canInternalDisplayHostDesktops">true</bool>
Ativar limites de tarefas
Siga estas etapas para configurar o número máximo de tarefas com suporte à janela do computador:
- Ative o modo janela para computador.
-
Defina a flag de sobreposição de configuração
config_maxDesktopWindowingActiveTasks
emconfig.xml
como o número máximo de tarefas com suporte. Para oferecer suporte a um número ilimitado de tarefas, defina a flag como o valor padrão de0
:<bool name="config_maxDesktopWindowingActiveTasks">4</integer>
Tela dividida
A experiência padrão do modo de várias janelas é a tela dividida, em que a interface do sistema é dividida no meio do dispositivo em modo retrato ou paisagem. Os usuários podem redimensionar a janela arrastando a linha divisória de um lado para o outro ou de cima para baixo, dependendo da orientação do dispositivo.
Depois de ativar a tela dividida, os fabricantes de dispositivos podem ativar o formato livre ou o PIP.
O Android 8.0 e versões mais recentes melhoram a tela dividida compactando a tela de início quando o usuário toca em Início. Para conferir detalhes de implementação, consulte Interações de tela dividida.
Picture-in-picture
Depois de ativar o modo de várias janelas com a
flag config_supportsMultiWindow
, os fabricantes de dispositivos podem
oferecer suporte a
picture-in-picture, que permite que os usuários assistam
vídeos enquanto navegam por outras atividades. Embora esse recurso seja direcionado a
dispositivos Android TV, outros tipos de dispositivos podem ser compatíveis com ele.
Para oferecer suporte ao PIP, ative o
recurso do sistema PackageManager#FEATURE_PICTURE_IN_PICTURE
em
/android/frameworks/base/core/java/android/content/pm/PackageManager.java
.
Para mais detalhes sobre a implementação do PIP em dispositivos com o Android 8.0 e versões mais recentes,consulte a página Picture-in-picture.
IU do sistema
Ofereça suporte a todas as interfaces do sistema padrão de acordo com a documentação para desenvolvedores sobre várias janelas.
Apps
Para oferecer suporte ao modo de várias janelas para apps pré-carregados, consulte a documentação para desenvolvedores do Android.
Validação
Para validar sua implementação de várias janelas, execute os testes CTS relacionados e siga as instruções de teste para várias janelas.