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

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

Wear UI ライブラリには以下のようなクラスがあります。中には、ウェアラブル サポート ライブラリの同類のサポート終了済みクラスに似た名前を持つクラスもあり、それらはサポート終了済みクラスを上回るメリットをいくつか提供します。

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

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

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

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

必要に応じて、ウェアラブル サポート ライブラリへの依存関係を含めます(プロジェクトの作成または更新を参照)。また、サポート ライブラリの追加もご覧ください。

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

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

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

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

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

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

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

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

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

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

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

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

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