Depois de projetar telas individuais para cada jornada do usuário, você pode ter algumas telas verticais ou únicas. Em seguida, você precisa decidir como projetar essas telas para que funcionem juntas e como implementar a navegação.
Design
Mantenha a hierarquia do app superficial e linear, conforme indicado nas diretrizes de design de apps.
Para começar, o iniciador do seu aplicativo deve abrir a jornada mais comum do usuário. Projete cada jornada do usuário com o conteúdo mais importante no topo. Em contêineres verticais, use a parte de baixo para vincular a outras jornadas do usuário menos comuns e às configurações.
Quando os usuários acessarem uma das suas telas, eles precisam conseguir usar o gesto de deslizar para dispensar a fim de navegar para a backstack.
Implementar a navegação
Ao implementar a navegação, você tem três opções, descritas nas seções a seguir:
- Somente atividades, que é a abordagem recomendada
- Atividades e fragmentos
- Jetpack Navigation
Somente atividades
Como as telas verticais geralmente têm um nível de profundidade, você pode implementar todas as telas usando atividades e sem fragmentos.
Recomendamos essa abordagem. Ele simplifica o código, e as atividades oferecem suporte automático ao recurso deslizar para dispensar. Isso também simplifica a implementação do modo ambiente.
Observação:faça com que suas atividades herdem uma
ComponentActivity
se
você não estiver usando fragmentos. Os outros tipos de atividade usam elementos de interface específicos para dispositivos móveis, que não
são necessários para o Wear OS.
Atividades e fragmentos
Você pode usar fragmentos com atividades no seu app para Wear OS. No entanto, isso não é recomendado, porque não há uma vantagem clara do uso de fragmentos para criar uma arquitetura superficial e plana.
Observação:se você estiver usando fragmentos, faça com que eles herdem de
FragmentActivity
. Os
outros tipos de atividade usam elementos de interface específicos para dispositivos móveis, que não são necessários para o Wear OS.
Estas são algumas das dificuldades no uso de fragmentos no app para Wear OS:
- É necessário implementar o gesto de deslizar para dispensar. Caso contrário, quando o usuário deslizar a tela, ele sairá do app inteiro.
-
Se você estiver usando
AmbientMode
, personalize-o para que funcione corretamente. OAmbientMode
está definido na atividade, então é preciso considerar isso ao implementar fragmentos.
Para oferecer suporte ao gesto de deslizar para dispensar com fragmentos, você precisa unir a visualização que contém o
fragmento na classe
SwipeDismissFrameLayout
. Consulte
O gesto de deslizar para dispensar
para mais informações. Isso proporciona aos usuários uma experiência consistente com o app.
Observação:ao usar fragmentos, use
FragmentManager.add
em vez de
FragmentManager.replace
para oferecer suporte ao gesto de deslizar para dispensar.
Isso ajuda a garantir que o fragmento anterior seja renderizado sob o fragmento de cima enquanto é
arrastado.
Jetpack Navigation
O Jetpack Navigation pode funcionar no Wear OS, mas tem as mesmas desvantagens dos fragmentos. Ela adiciona trabalho de desenvolvimento e, como a hierarquia de um app para Wear OS geralmente é superficial e linear, ele não oferece muitas vantagens. Uma abordagem apenas de atividade é melhor.
Para aproveitar ao máximo a navegação do Jetpack, faça o seguinte:
-
Confira se cada fragmento usa um
SwipeDismissFrameLayout
como raiz e use manualmente a ação de dispensar para voltar ao gráfico de navegação. -
Implemente um
FragmentNavigator
personalizado que renderize fragmentos uns sobre os outros.