乐趣区

关于android:使用-Jetpack-卡片库在-Wear-OS-by-Google-谷歌上创建自定义卡片

作者 / Jolanda Verhoef,开发者关系工程师

咱们 在 2019 年推出了卡片,从那时起,该性能便成为 Wear OS by Google 谷歌智能手表上最实用的性能之一。卡片访问速度快,应用便捷,且设计为可滑动拜访,用户可间接在手段上理解所需资讯及待办事项。同时,卡片也能够让用户管制想理解的信息和操作。

咱们很快乐发表 Jetpack 卡片库 将推出 Alpha 版。开发者能够应用该库在 Wear OS 智能手表上创立自定义卡片。咱们将在往年晚些时候推出相应的 Wear OS 平台更新,届时用户便能应用此类自定义卡片。

开发者可针对多种用例设计卡片,例如,跟踪用户的日常流动进度、疾速开始一项锤炼、播放最近放过的歌曲,以及向好友发送音讯。利用能够为用户提供沉迷式体验,而卡片则能够疾速加载并专一于满足用户的即时需要。如果用户须要更多信息,可通过点按卡片关上手表或手机上的相干利用,取得更深度的体验。

开始构建

卡片应用 Android Studio 构建,是 Wear OS 利用的一部分。首先,增加 Wear OS 卡片依赖项:

dependencies {
  implementation "androidx.wear:wear-tiles:1.0.0-alpha01"
  debugImplementation "androidx.wear:wear-tiles-renderer:1.0.0-alpha01"
}

第一个依赖项蕴含创立卡片所需的库,而第二个依赖项则能够让您在 Activity 中预览卡片。

接下来,应用 TileProviderService 提供相应信息来渲染卡片:

class MyTileService : TileProviderService() {override fun onTileRequest(requestParams: RequestReaders.TileRequest) =
    Futures.immediateFuture(Tile.builder()
      .setResourcesVersion("1")
      .setTimeline(Timeline.builder().addTimelineEntry(
         // For more information about timelines, see the docs
         TimelineEntry.builder().setLayout(Layout.builder().setRoot(Text.builder().setText("Hello world!")
           )
         )
      )
    ).build())

  override fun onResourcesRequest(requestParams: ResourcesRequest) =
    Futures.immediateFuture(Resources.builder()
      .setVersion("1")
      .build())
}

这段代码有两个重要局部:

  • onTileRequest() 用于创立卡片布局。您将在此函数内编写大部分代码。您能够应用多个 TimelineEntry 实例来为 不同的工夫点 渲染不同的布局。
  • onResourcesRequest() 则用于传递渲染卡片所需的所有资源。如果您决定增加图形,则能够在此处进行增加。

创立一个简略的 Activity 来预览卡片。将此 Activity 增加到 src/debug 中而不是 src/main 中,因为此 Activity 仅用于调试 / 预览。

class MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    val rootLayout = findViewById<FrameLayout>(R.id.tile_container)
    TileManager(
      context = this,
      component = ComponentName(this, MyTileService::class.java),
      parentView = rootLayout
    ).create()}
}

当初,所有准备就绪,能够公布卡片了。无关具体操作及卡片的更多信息,请浏览咱们 新公布的指南,同时请查看咱们的 卡片示例,理解实际效果。

Jetpack 卡片库已推出 Alpha 版,期待收到 您的反馈,帮忙咱们改良 API。乐享编码!

退出移动版