Bibliotecas de layout de tela dupla
Importante
Este artigo descreve funcionalidades e diretrizes que estão em versão prévia pública e podem ser modificadas substancialmente antes de passarem para a disponibilidade geral. A Microsoft não faz nenhuma garantia, expressa ou implícita, com relação às informações fornecidas aqui.
Essas bibliotecas contêm um conjunto de exibições, layouts, funções auxiliares e muito mais para ajudar os desenvolvedores de Android a criar aplicativos para dispositivos de dobráveis.
Se você deixar a responsabilidade de criar e tratar de todos os modos de tela para os nossos componentes, poderá concentrar-se mais em criar um aplicativo excelente.
Módulos
Navegação inferior – contém um BottomNavigationView personalizado com comportamento de tela dupla.
BottomNavigationView
possibilita mover o BottomNavigationView para a tela esquerda ou direita.
FragmentsHandler – contém o código para manipular fragmentos em diferentes modos de tela.
- O
FragmentManagerStateHandler
possibilita restaurar fragmentos específicos do modo de tela quando uma atividade está em transição para uma tela dupla ou única.
- O
Layouts – contém os layouts que ajudam você a criar a interface do usuário para dispositivos de tela dupla.
- O
FoldableLayout
criará contêineresSingleScreen
ouDualScreen
para conservar sua interface do usuário. FoldableFrameLayout
possibilita abranger exibições filhas ou movê-las para a tela esquerda ou direita.
- O
RecyclerView ─ Contém um RecyclerView.ItemDecoration personalizado e uma classe LayoutManager com comportamento de tela dupla.
FoldableItemDecoration
adiciona espaçamento para as células a fim de cobrir a dobradiça do dispositivo quando o aplicativo está no modo estendido. Deve ser usado comFoldableLayoutManager
.FoldableLayoutManager
fornece umLinearLayoutManager
quando o dispositivo está no modo de tela única e umGridLayoutManager
quando ele está no modo estendido.FoldableStaggeredItemDecoration
adiciona espaçamento para as células a fim de cobrir a dobradiça do dispositivo quando o aplicativo está no modo estendido. Deve ser usado comFoldableStaggeredLayoutManager
.FoldableStaggeredLayoutManager
fonece umLinearLayoutManager
quando o dispositivo está no modo de tela única e umStaggeredGridLayoutManager
quando ele está no modo estendido.
Guias – contém uma classe TabLayout personalizada com comportamento de tela dupla.
- O
TabLayout
pode detectar um recurso dobrável e fornece a opção de organizar as guias à esquerda ou à direita dele.
- O
Componente de Navegação Dobrável – baseado no Componente de Navegação do Google, esse componente contém um conjunto de bibliotecas que implementa o padrão de navegação de tela dupla.
Snackbar – um
FrameLayout
personalizado que pode ser usado como um contêiner doSnackbar
para posicioná-lo em dispositivos dobráveis.
Declarando dependências
Verifique se você tem o repositório mavenCentral() no arquivo build.gradle de nível superior:
allprojects { repositories { google() mavenCentral() } }
Adicione as dependências que você necessita ao arquivo build.gradle de nível de módulo (a versão atual pode ser diferente da mostrada aqui):
Navegação inferior
implementation "com.microsoft.device.dualscreen:bottomnavigation:1.0.0-beta4"
Manipulador de fragmentos
implementation "com.microsoft.device.dualscreen:fragmentshandler:1.0.0-beta5"
Layouts
implementation "com.microsoft.device.dualscreen:layouts:1.0.0-beta8"
Guias
implementation "com.microsoft.device.dualscreen:tabs:1.0.0-beta4"
RecyclerView
implementation "com.microsoft.device.dualscreen:recyclerview:1.0.0-beta6"
SnackbarContainer
implementation "com.microsoft.device.dualscreen:snackbar:1.0.0-alpha2"
Componente de Navegação Dobrável
def nav_version = "1.0.0-alpha3" // Java language implementation implementation "com.microsoft.device.dualscreen:navigation-fragment:$nav_version" implementation "com.microsoft.device.dualscreen:navigation-ui:$nav_version" // Kotlin implementation "com.microsoft.device.dualscreen:navigation-fragment-ktx:$nav_version" implementation "com.microsoft.device.dualscreen:navigation-ui-ktx:$nav_version"
Módulos preteridos
Importante
Nossa versão inicial desses layouts foi empacotada em uma única biblioteca com.microsoft.device:dualscreen-layout
.
Essa biblioteca foi preterida. É recomendável usar as bibliotecas individuais acima para os controles de que você precisa.
ScreenManager (preterido) – contém as classes principais que são necessárias para que nossos componentes sejam desenvolvidos para dispositivos de tela dupla. Você também pode usá-las diretamente no seu código.
- Use
ScreenManagerProvider
para obter a única instância doSurfaceDuoScreenManager
. - Use
SurfaceDuoScreenManager
para registrar ouvintes a fim de receber a notificação quando o modo de tela for alterado. - Use
ScreenInfoProvider
para obter uma instância doScreenInfo
. - Use
ScreenInfo
para obter informações de tela diferentes, de acordo com o modo de tela.
Se você quiser escolher a versão que usa a API de máscara de exibição, adicione a linha a seguir ao arquivo gradle.
implementation "com.microsoft.device.dualscreen:screenmanager-displaymask:1.0.0-beta4"
Ou, se desejar escolher a versão que usa a API do Gerenciador de Janelas, adicione a linha a seguir.
implementation "com.microsoft.device.dualscreen:screenmanager-windowmanager:1.0.0-beta4"
- Use