Depois de criar 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 simples e linear, conforme indicado nas diretrizes de design de apps.
Para começar, o iniciador do app precisa abrir a jornada do usuário mais comum. Crie cada jornada do usuário com o conteúdo mais importante no topo. Para 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, verifique se eles podem usar o gesto de deslizar para dispensar para navegar pela 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, é possível implementar todas as telas usando atividades e sem usar fragmentos.
Recomendamos muito essa abordagem. Ele simplifica seu código, e as atividades oferecem suporte automático ao deslizar para dispensar. Isso também simplifica a implementação do modo ambiente.
Observação:faça com que suas atividades herdem de 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
É possível usar fragments com atividades no app para Wear OS. No entanto, não recomendamos isso, já que não há uma vantagem clara em usar fragments para criar uma arquitetura superficial e simples.
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.
Algumas dificuldades de usar fragmentos no app para Wear OS incluem:
- Você precisa implementar o gesto de deslizar para dispensar. Caso contrário, quando o usuário desliza, ele sai de todo o app.
-
Se você estiver usando
AmbientMode, personalize para que ele funcione corretamente.AmbientModeé definido na atividade, então você precisa 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 oferece aos usuários uma experiência consistente com seu app.
Observação:ao usar fragmentos, use
FragmentManager.add
em vez de
FragmentManager.replace
para oferecer suporte ao gesto de deslizar para dispensar.
Isso garante que seu fragmento anterior renderize no fragmento da camada superior enquanto é
dispensado.
Jetpack Navigation
O Jetpack Navigation pode funcionar no Wear OS, mas tem as mesmas desvantagens dos fragmentos. Isso adiciona trabalho de desenvolvimento e, como a hierarquia de um app Wear OS geralmente é rasa e linear, não oferece muitas vantagens. Uma abordagem somente de atividade é a melhor opção.
Para aproveitar ao máximo a navegação do Jetpack, faça o seguinte:
-
Verifique se cada fragmento usa um
SwipeDismissFrameLayoutcomo raiz e use manualmente a ação de dispensar para voltar no gráfico de navegação. -
Implemente um
FragmentNavigatorpersonalizado que renderiza fragmentos um em cima do outro.