Android Jetpack は、アプリ間で一貫性のある、最適化されたユーザー インターフェースを実現します。Android Jetpack には Wear UI ライブラリが付属しており、Wear UI ライブラリには Wear OS アプリの推奨 UI コンポーネントが多数含まれています。
Wear UI ライブラリに含まれるクラスの一部を以下に示します。クラスの中には、ウェアラブル サポート ライブラリのサポートが終了したクラスに似た名前を持つものもありますが、それらにはサポートが終了した同種のクラスを上回るメリットがあります。
-
BoxInsetLayout
: 円形の画面向けのインセットを適用するレイアウト。 -
SwipeDismissFrameLayout
: ユーザーが左から右に画面をスワイプすることでビューをすべて閉じることができるレイアウト。 -
WearableRecyclerView
: 曲線レイアウト(メインの Wear アプリ ランチャーに使用するレイアウトなど)を提供するビュー。 -
AmbientModeSupport
: 常に画面表示モードをサポートするAmbientModeSupport.AmbientCallbackProvider
インターフェースで使用されるクラス。
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 ライブラリまたは他の場所にあります)を次の表に示します。