Navegação

Experimente trabalhar com o Compose
O Jetpack Compose no Wear OS é o kit de ferramentas de interface recomendado para o Wear OS.

Depois de criar telas individuais para cada jornada do usuário, você pode ter algumas telas verticais ou únicas telas. Em seguida, é necessário decidir como criar 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 inicializador do app precisa abrir a jornada do usuário mais comum. Crie cada jornada do usuário com o conteúdo mais importante na parte de cima. Para contêineres verticais, use a parte de baixo para vincular a outras jornadas do usuário menos comuns e às configurações.

Figura 1. Mantenha o conteúdo mais importante na parte de cima dos contêineres verticais.

Quando os usuários acessam uma das telas, eles precisam poder 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 apenas um nível de profundidade, é possível implementar todas as telas usando atividades e sem usar fragmentos.

Recomendamos essa abordagem. Ela simplifica o código, e as atividades oferecem suporte automático ao gesto de 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 fragmentos com atividades no app para Wear OS. No entanto, não recomendamos isso, porque não há uma vantagem clara em usar fragmentos 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 das dificuldades de usar fragmentos no app para Wear OS incluem o seguinte:

  • É necessário implementar o gesto de deslizar para dispensar. Caso contrário, quando o usuário deslizar, ele vai sair de todo o app.
  • Se você estiver usando AmbientMode, será necessário personalizá-lo para que funcione corretamente. AmbientMode é definido na atividade. Portanto, é necessário considerar isso ao implementar fragmentos.

Para oferecer suporte ao gesto de deslizar para dispensar com fragmentos, é necessário incluir 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 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 abaixo do fragmento superior enquanto ele está sendo deslizado.

Jetpack Navigation

O Jetpack Navigation pode funcionar no Wear OS, mas tem as mesmas desvantagens dos fragmentos. Ele adiciona trabalho de desenvolvimento e, como a hierarquia de um app Wear OS geralmente é superficial e linear, não oferece muitas vantagens. Uma abordagem somente de atividades é a melhor.

Para aproveitar ao máximo o Jetpack Navigation, faça o seguinte:

  • Verifique se cada fragmento usa a SwipeDismissFrameLayout como raiz e use manualmente a ação de dispensar para voltar no gráfico de navegação.
  • Implemente um personalizado FragmentNavigator que renderize fragmentos uns sobre os outros.