共计 1827 个字符,预计需要花费 5 分钟才能阅读完成。
作者 / 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。乐享编码!