Wear UI ライブラリを使用する

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Android Jetpack は、アプリ間で一貫性のある、最適化されたユーザー インターフェースを実現します。Android Jetpack には Wear UI ライブラリが付属しており、Wear UI ライブラリには Wear OS アプリの推奨 UI コンポーネントが多数含まれています。

Wear UI ライブラリに含まれるクラスの一部を以下に示します。クラスの中には、ウェアラブル サポート ライブラリサポートが終了したクラスに似た名前を持つものもありますが、それらにはサポートが終了した同種のクラスを上回るメリットがあります。

Wear UI ライブラリのアクション ドロワーとナビゲーション ドロワーについてもご確認ください。

Wear UI ライブラリへの依存関係を追加する

Wear UI ライブラリを使用するには、Wear モジュールの build.gradle ファイルに次の依存関係を追加します。

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

Wear UI ライブラリ パッケージからクラスをインポートする

Wear UI ライブラリのクラスを使用する場合は、そのクラスを androidx.wear.widget パッケージからインポートします。詳しくは、ライブラリ クラスの使用例をご覧ください。

レイアウト ファイルで正しい要素名を使用する

レイアウト ファイルでは、(ウェアラブル サポート ライブラリではなく)Wear UI ライブラリに対応する完全修飾名を使用します。

たとえば、Wear UI ライブラリの SwipeDismissFrameLayout クラスを使用する場合は、レイアウト ファイルで次のように指定することができます。

    <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>
    

Wear UI ライブラリ クラスの使用例

Wear UI ライブラリのクラスは、ウェアラブル サポート ライブラリのクラスと同一または類似の機能を備えています。一部のクラス、メソッド、属性の名前は、Android サポート ライブラリとの一貫性を高めるために変更されています。

たとえば、ウェアラブル サポート ライブラリの WearableRecyclerView クラスを使用するアクティビティには、次のコードを含めることができます。

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());
    }
    

同様に、Wear UI ライブラリの WearableRecyclerView クラスを使用するアクティビティには、次のコードを含めることができます。上のコードとの違いは太字で示されています。

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());
    }
    

Wear UI ライブラリのアクション ドロワーとナビゲーション ドロワー

Wear UI ライブラリには、アクション ドロワーとナビゲーション ドロワー用のコンポーネントが含まれています。

詳しくは、Wear のナビゲーションとアクションをご覧ください。

サポートが終了したクラスの後継クラス

ウェアラブル サポート ライブラリのサポートが終了したクラスに代わる後継クラス(Wear UI ライブラリまたは他の場所にあります)を次の表に示します。

サポートが終了したクラス 後継クラスの情報
ActionChooserView AlertDialog
ActionLabel ナビゲーションには WearableActionDrawerView を使用し、確認アクションには ConfirmationOverlay を使用します。
ActionPage ナビゲーションには WearableActionDrawerView を使用し、確認アクションには ConfirmationOverlay を使用します。
BoxInsetLayout BoxInsetLayout
BoxInsetLayout.LayoutParams BoxInsetLayout.LayoutParams
CardFragment SnapHelperRecyclerView を使用します。
CardFrame SnapHelperRecyclerView を使用します。
CardScrollView SnapHelperRecyclerView を使用します。
CircledImageView RoundedDrawable
CircularButton マテリアル デザインのライブラリ コンポーネントをご覧ください。
CrossfadeDrawable AnimationSet
CurvedChildLayoutManager WearableLinearLayoutManager
DefaultOffsettingHelper WearableLinearLayoutManager
DelayedConfirmationView CircularProgressLayout
DismissOverlayView 該当なし。長押しによるアプリの終了は、没入型アクティビティでは推奨されなくなりました。
DotsPageIndicator 該当なし。アプリでは、水平スクロールは推奨されなくなりました。
FragmentGridPagerAdapter PageSnapHelperRecyclerView を使用します。
GridPagerAdapter SnapHelperRecyclerView を使用します。
GridViewPager SnapHelperRecyclerView を使用します。
GridViewPager.LayoutParams 該当なし。アプリでは、双方向空間モデルは推奨されなくなりました。縦方向のページング パターンを実装する場合は、SnapHelperRecyclerView の使用を検討してください。
ProgressSpinner ProgressBar
SwipeDismissFrameLayout SwipeDismissFrameLayout
SwipeDismissFrameLayout.Callback SwipeDismissFrameLayout.Callback
WatchViewStub リソースの指定をご覧ください。
WearableFrameLayout リソースの指定をご覧ください。
WearableFrameLayout.LayoutParams リソースの指定をご覧ください。
WearableListView WearableRecyclerView
WearableListView.Adapter リストアイテムの中央揃えとスナップを行う場合は、SnapHelper または LinearSnapHelper でサポートされている WearableRecyclerView の使用を検討してください。画面上の位置に基づいてリストアイテムの拡大縮小または他の変更を行う場合は、WearableLinearLayoutManager または CurvingLayoutCallback の使用を検討してください。
WearableListView.GenericAdapter リストアイテムの中央揃えとスナップを行う場合は、SnapHelper または LinearSnapHelper でサポートされている WearableRecyclerView の使用を検討してください。画面上の位置に基づいてリストアイテムの拡大縮小または他の変更を行う場合は、WearableLinearLayoutManager または CurvingLayoutCallback の使用を検討してください。
WearableListView.ViewHolder リストアイテムの中央揃えとスナップを行う場合は、SnapHelper または LinearSnapHelper でサポートされている WearableRecyclerView の使用を検討してください。画面上の位置に基づいてリストアイテムの拡大縮小または他の変更を行う場合は、WearableLinearLayoutManager または 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