• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

android 搞代码 4年前 (2022-03-01) 21次浏览 已收录 0个评论

作者 / 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 提供相应信息来渲染卡片:

<code class="Kotlin">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 仅用于调试/预览。

<code class="Kotlin">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。乐享编码!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用-Jetpack-卡片库在-Wear-OS-by-Google-谷歌上创建自定义卡片

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址