在某些情况下,您可能需要使用 XML 和 RemoteViews
来提供视图。
也许您已经在不使用 Glance 的情况下实现了某项功能,或者该功能
当前 Glance API 尚未提供或无法使用。对于这种情况
Glance 提供 AndroidRemoteViews
,这是一个互操作性 API。
AndroidRemoteViews
可组合项允许将 RemoteViews
放在一起
与您的其他可组合项搭配使用:
val packageName = LocalContext.current.packageName Column(modifier = GlanceModifier.fillMaxSize()) { Text("Isn't that cool?") AndroidRemoteViews(RemoteViews(packageName, R.layout.example_layout)) }
像不使用 Glance 时那样创建和定义 RemoteViews
,然后简单地
作为参数传递
此外,您还可以为可组合项创建 RemoteViews
容器:
AndroidRemoteViews( remoteViews = RemoteViews(packageName, R.layout.my_container_view), containerViewId = R.id.example_view ) { Column(modifier = GlanceModifier.fillMaxSize()) { Text("My title") Text("Maybe a long content...") } }
在本示例中,包含“容器”会传递
ID。此容器必须是 ViewGroup
,因为它用于放置
定义的内容。