No Android 7.0 e versões mais recentes, os dispositivos podem exibir vários apps simultaneamente usando o modo de várias janelas. O Android oferece suporte a três configurações de várias janelas:
- A tela dividida é o padrão de várias janelas implementação, que fornece dois painéis de atividade onde os usuários podem colocar apps.
- A forma livre permite que os usuários redimensionem dinamicamente o painéis de atividades e tenham mais de dois apps visíveis na tela.
- O picture-in-picture (PIP) permite que os dispositivos Android reproduzir conteúdo de vídeo em uma pequena janela enquanto o usuário interage com e outros apps.
Implementação
O suporte a várias janelas está ativado por padrão no Android 7.0 e versões mais recentes.
Para desativá-la, defina a flag config_supportsMultiWindow
como
false
no seu dispositivo
config.xml.
O recurso de várias janelas fica desativado por padrão em todos os dispositivos com pouca memória RAM, ou seja,
declarar ActivityManager.isLowRam()
). Dispositivos com pouca memória RAM
ignore o valor da sinalização config_supportsMultiWindow
.
Tela dividida
A experiência padrão de várias janelas é o modo de tela dividida, em que o A interface é dividida no meio do dispositivo, no 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 ativá-la formato livre ou PIP.
O Android 8.0 e versões mais recentes compactam a tela de início para melhorar a tela dividida quando o usuário toca em Início. Para detalhes de implementação, consulte Interações de tela dividida.
Freeform
Depois de ativar o modo de várias janelas com o
config_supportsMultiWindow
, os fabricantes de dispositivos podem
permitem o janelamento em formato livre. Esse modo é mais útil em dispositivos maiores,
como tablets.
Para oferecer suporte ao modo de forma livre, ative o
PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT
sistema
no
/android/frameworks/base/core/java/android/content/pm/PackageManager.java
e definir config_freeformWindowManagement
como true
config.xml.
<bool name="config_freeformWindowManagement">true</bool>
Picture-in-picture
Depois de ativar o modo de várias janelas com o
config_supportsMultiWindow
, os fabricantes de dispositivos podem
apoiar
picture-in-picture, que permite aos usuários assistir
vídeo enquanto navega por outras atividades. Embora esse recurso esteja direcionado a
Dispositivos de televisão Android e outros tipos de dispositivos podem oferecer suporte a esse recurso.
Para oferecer suporte ao PIP, ative o
PackageManager#FEATURE_PICTURE_IN_PICTURE
recurso do sistema em
/android/frameworks/base/core/java/android/content/pm/PackageManager.java
.
Para mais detalhes sobre a implementação do PIP em dispositivos com Android 8.0 e superior,consulte a página Picture-in-picture página.
IU do sistema
Oferece suporte a todas as interfaces padrão do sistema de acordo com a Documentação do desenvolvedor sobre várias janelas.
Apps
Para oferecer suporte ao modo de várias janelas em apps pré-carregados, consulte o Documentação do desenvolvedor Android.
Validação
Para validar sua implementação de várias janelas, execute o CTS relacionado testes e seguir as instruções de teste para várias janelas.
Para o Android 7.0, os testes estão em
/platform/cts/hostsidetests/services/activitymanager/src/android/server/cts
:
No Android 8.0 e versões mais recentes, os testes estão
/platform/cts/tests/framework/base/activitymanager/src/android/server/am
: