The Android Developer Challenge is back! Submit your idea before December 2.

Usar a Biblioteca de IU do Wear

As bibliotecas de suporte do Android permitem interfaces do usuário consistentes e otimizadas nos apps. A Biblioteca de Suporte do Android inclui a Biblioteca de IU do Wear, que contém muitos dos componentes de IU preferenciais para os apps Wear OS.

A Biblioteca de IU do Wear inclui (sem limitação) as seguintes classes. Algumas das classes têm nomes semelhantes e oferecem vários benefícios sobre as classes obsoletas relacionadas da Biblioteca de Suporte de Wearables:

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 seguinte dependência ao arquivo build.gradle do módulo do Wear:

    dependencies {
        ...
        compile 'com.android.support:wear:27.0.0'
    }
    

Se necessário, inclua uma dependência na Biblioteca de Suporte de Wearables (consulte Criar ou atualizar um projeto). Veja também Adicionar Bibliotecas de Suporte.

Importar classes do pacote da Biblioteca de IU do Wear

Quando quiser usar uma classe da Biblioteca de IU do Wear, importe-a do pacote android.support.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 de Wearables).

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

    <android.support.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." />
    </android.support.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 são 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 de Wearables pode incluir o seguinte código:

Kotlin

    import android.support.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 android.support.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 android.support.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 android.support.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 de Wearables.

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. Um toque longo para dispensar um app não é mais recomendado 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 Fornecimento de recursos.
WearableFrameLayout Consulte Fornecimento de recursos.
WearableFrameLayout.LayoutParams Consulte Fornecimento de 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 deles 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 deles 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 deles 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