Usar a Biblioteca de IU do Wear

O Android Jetpack permite interfaces de usuário consistentes e otimizadas em todos os apps. O Android Jetpack inclui a Biblioteca de IU do Wear, que contém muitos dos componentes de IU preferenciais para seus apps Wear OS.

A Biblioteca de IU do Wear inclui (entre outras) as seguintes classes. Algumas das classes têm nomes semelhantes e oferecem vários benefícios em relação às classes obsoletas relacionadas da Biblioteca de Suporte para Wearable:

Consulte também Gavetas de ação e navegação na Biblioteca de IU do Wear.

Adicionar uma dependência à Biblioteca de IU do Wear

Para usar a Biblioteca de IU do Wear, adicione a dependência a seguir no arquivo build.gradle do módulo Wear:

    dependencies {
        ...
        compile 'androidx.wear:wear:1.0.0'
    }
    

Importar classes do pacote da Biblioteca de IU do Wear

Ao usar uma classe da Biblioteca de IU do Wear, importe-a do pacote androidx.wear.widget. Consulte o Exemplo de uso de uma classe da biblioteca.

Usar os nomes de elementos corretos em arquivos de layout

Nos arquivos de layout, use nomes totalmente qualificados que correspondam à Biblioteca de IU do Wear (e não à Biblioteca de Suporte para Wearable).

Por exemplo, para usar a classe SwipeDismissFrameLayout da Biblioteca de IU do Wear, você pode especificar o seguinte em um arquivo de layout:

    <androidx.wear.widget.SwipeDismissFrameLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/swipe_dismiss_root" >

        <TextView
            android:id="@+id/test_content"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="Swipe the screen to dismiss me." />
    </androidx.wear.widget.SwipeDismissFrameLayout>
    

Exemplo de uso de uma classe da Biblioteca de IU do Wear

As classes da Biblioteca de IU do Wear têm funcionalidade igual ou semelhante à da Biblioteca de Suporte de Wearables. Alguns nomes de classes, métodos e atributos foram atualizados para melhorar a consistência com a Biblioteca de Suporte do Android.

Por exemplo, uma atividade que usa a classe WearableRecyclerView da Biblioteca de Suporte para Wearable pode incluir o seguinte código:

Kotlin

    import androidx.wear.widget.WearableRecyclerView
    ...
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.wearable_recycler_view_basic)
        findViewById<WearableRecyclerView>(R.id.wrv).apply {
            layoutManager = ChildLayoutManager()
            adapter = TestAdapter()
        }
    }
    

Java

    import androidx.wearable.view.WearableRecyclerView;
    ...
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.wearable_recycler_view_basic);
        WearableRecyclerView wrv = findViewById(R.id.wrv);
        wrv.setLayoutManager(new ChildLayoutManager());
        wrv.setAdapter(new TestAdapter());
    }
    

Da mesma forma, uma atividade que usa a classe WearableRecyclerView da Biblioteca de IU do Wear pode incluir o código a seguir. As diferenças em relação ao código acima estão em negrito:

Kotlin

    import androidx.wear.widget.WearableRecyclerView
    ...
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.wearable_recycler_view_basic)
        findViewById<WearableRecyclerView>(R.id.wrv).apply {
            layoutManager = WearableLinearLayoutManager(this@MainActivity)
            adapter = TestAdapter()
        }
    }
    

Java

    import androidx.wear.widget.WearableRecyclerView;
    ...
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.wearable_recycler_view_basic);
        WearableRecyclerView wrv = findViewById(R.id.wrv);
        wrv.setLayoutManager(new WearableLinearLayoutManager(this));
        wrv.setAdapter(new TestAdapter());
    }
    

Gavetas de ação e navegação na Biblioteca de IU do Wear

A Biblioteca de IU do Wear tem componentes para gavetas de ação e navegação.

Para mais informações, consulte Navegação e ações do Android Wear.

Substituições para classes obsoletas

A tabela abaixo contém substituições, presentes na Biblioteca de IU do Wear e em outros lugares, para classes obsoletas da Biblioteca de Suporte para Wearable.

Classe obsoleta Informações de substituição
ActionChooserView AlertDialog
ActionLabel Use WearableActionDrawerView para navegação e ConfirmationOverlay para ações de confirmação.
ActionPage Use WearableActionDrawerView para navegação e ConfirmationOverlay para ações de confirmação.
BoxInsetLayout BoxInsetLayout
BoxInsetLayout.LayoutParams BoxInsetLayout.LayoutParams
CardFragment Use SnapHelper e uma RecyclerView.
CardFrame Use SnapHelper e uma RecyclerView.
CardScrollView Use SnapHelper e uma RecyclerView.
CircledImageView RoundedDrawable
CircularButton Consulte Componentes da biblioteca de Material Design.
CrossfadeDrawable AnimationSet
CurvedChildLayoutManager WearableLinearLayoutManager
DefaultOffsettingHelper WearableLinearLayoutManager
DelayedConfirmationView CircularProgressLayout
DismissOverlayView Não aplicável. A ação de tocar e manter pressionado para dispensar um app não é mais recomendada para atividades imersivas.
DotsPageIndicator Não aplicável. A rolagem horizontal não é mais recomendada para apps.
FragmentGridPagerAdapter Use PageSnapHelper e uma RecyclerView.
GridPagerAdapter Use SnapHelper e uma RecyclerView.
GridViewPager Use SnapHelper e uma RecyclerView.
GridViewPager.LayoutParams Não aplicável. Modelos espaciais bidirecionais não são mais recomendados para apps. Se você está implementando um padrão de paginação vertical, use o SnapHelper e uma RecyclerView.
ProgressSpinner ProgressBar
SwipeDismissFrameLayout SwipeDismissFrameLayout
SwipeDismissFrameLayout.Callback SwipeDismissFrameLayout.Callback
WatchViewStub Consulte Fornecer recursos.
WearableFrameLayout Consulte Fornecer recursos.
WearableFrameLayout.LayoutParams Consulte Fornecer recursos.
WearableListView WearableRecyclerView
WearableListView.Adapter Para centralizar e encaixar itens de listas, use a WearableRecyclerView, que é compatível com SnapHelper ou LinearSnapHelper. Para dimensionar e modificar itens de listas com base na localização na tela, use um WearableLinearLayoutManager ou um CurvingLayoutCallback.
WearableListView.GenericAdapter Para centralizar e encaixar itens de listas, use a WearableRecyclerView, que é compatível com SnapHelper ou LinearSnapHelper. Para dimensionar e modificar itens de listas com base na localização na tela, use um WearableLinearLayoutManager ou um CurvingLayoutCallback.
WearableListView.ViewHolder Para centralizar e encaixar itens de listas, use a WearableRecyclerView, que é compatível com SnapHelper ou LinearSnapHelper. Para dimensionar e modificar itens de listas com base na localização na tela, use um WearableLinearLayoutManager ou um CurvingLayoutCallback.
WearableRecyclerView WearableRecyclerView
WearableRecyclerView.ChildLayoutManager WearableLinearLayoutManager
WearableRecyclerView.OffsettingHelper WearableLinearLayoutManager.LayoutCallback
WearableActionDrawer WearableActionDrawerView
WearableDrawerLayout WearableDrawerLayout
WearableDrawerLayout.DrawerStateCallback WearableDrawerLayout.DrawerStateCallback
WearableDrawerView WearableDrawerView
WearableNavigationDrawer WearableNavigationDrawerView
WearableNavigationDrawer.WearableNavigationDrawerAdapter WearableNavigationDrawerView.WearableNavigationDrawerAdapter