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

使用 Wear 界面库

Android 支持库可在各种应用中实现经过优化的一致界面。Android 支持库包括 Wear 界面库,该界面库包含许多适用于 Wear OS 应用的首选界面组件。

Wear 界面库包括(但不限于)以下类。其中某些类的名称与穿戴式设备支持库中相关的已弃用类的名称相似,但与其相比具备诸多优势:

另请参阅 Wear 界面库中的操作和抽屉式导航栏

添加对 Wear 界面库的依赖关系

要使用 Wear 界面库,请在 Wear 模块的 build.gradle 文件中添加以下依赖项:

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

如有必要,还应添加对穿戴式设备支持库的依赖关系(请参阅创建或更新项目)。另请参阅添加支持库

从 Wear 界面库软件包导入类

使用 Wear 界面库中的某个类时,可从 android.support.wear.widget 软件包导入该类。请参阅使用库类的示例

在布局文件中使用正确的元素名称

在布局文件中,应使用与 Wear 界面库(而不是穿戴式设备支持库)对应的完全限定名称。

例如,要使用 Wear 界面库中的 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 界面库类的示例

Wear 界面库中的类在功能上与穿戴式设备支持库中的类相同或相似。为了与 Android 支持库更加一致,某些类、方法和属性名称已经过更新。

例如,使用穿戴式设备支持库中的 WearableRecyclerView 类的 Activity 可能包含以下代码:

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 界面库中的 WearableRecyclerView 类的 Activity 可能包含以下代码。该代码与上述代码的不同之处显示为粗体:

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 界面库中的操作和抽屉式导航栏

Wear 界面库包含操作和抽屉式导航栏组件。

如需了解详情,请参阅 Wear 导航和操作

已弃用类的替代类

下表列出了 Wear 界面库和其他库中的哪些类替代了穿戴式设备支持库中已弃用的类。

已弃用的类 替代类信息
ActionChooserView AlertDialog
ActionLabel 对导航使用 WearableActionDrawerView,对确认操作使用 ConfirmationOverlay
ActionPage 对导航使用 WearableActionDrawerView,对确认操作使用 ConfirmationOverlay
BoxInsetLayout BoxInsetLayout
BoxInsetLayout.LayoutParams BoxInsetLayout.LayoutParams
CardFragment 使用 SnapHelperRecyclerView
CardFrame 使用 SnapHelperRecyclerView
CardScrollView 使用 SnapHelperRecyclerView
CircledImageView RoundedDrawable
CircularButton 请参阅 Material Design 库组件
CrossfadeDrawable AnimationSet
CurvedChildLayoutManager WearableLinearLayoutManager
DefaultOffsettingHelper WearableLinearLayoutManager
DelayedConfirmationView CircularProgressLayout
DismissOverlayView 不适用;对于沉浸式 Activity,不再建议通过长按来关闭应用。
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 要居中和对齐列表项,不妨考虑使用 SnapHelperLinearSnapHelper 支持的 WearableRecyclerView。要根据列表项在屏幕上的位置对其进行缩放和其他修改,不妨考虑使用 WearableLinearLayoutManagerCurvingLayoutCallback
WearableListView.GenericAdapter 要居中和对齐列表项,不妨考虑使用 SnapHelperLinearSnapHelper 支持的 WearableRecyclerView。要根据列表项在屏幕上的位置对其进行缩放和其他修改,不妨考虑使用 WearableLinearLayoutManagerCurvingLayoutCallback
WearableListView.ViewHolder 要居中和对齐列表项,不妨考虑使用 SnapHelperLinearSnapHelper 支持的 WearableRecyclerView。要根据列表项在屏幕上的位置对其进行缩放和其他修改,不妨考虑使用 WearableLinearLayoutManagerCurvingLayoutCallback
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