Android Jetpack을 사용하면 앱 전체에 일관되고 최적화된 사용자 인터페이스를 구현할 수 있습니다. Android Jetpack에는 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() } }
자바
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() } }
자바
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 라이브러리 또는 다른 라이브러리의 클래스가 나와 있습니다.