如何在 Jetpack Compose 中使用小部件?
Posted
技术标签:
【中文标题】如何在 Jetpack Compose 中使用小部件?【英文标题】:How to use widgets in Jetpack Compose? 【发布时间】:2020-04-23 12:35:38 【问题描述】:我想使用其中的一些,但我从NumberPicker
开始,它扩展了LinearLayout
,因此不能只在视图中间实例化一个实例。当然只是想要一个嵌入式数字微调器作为输入值的一种方式。
【问题讨论】:
【参考方案1】:您现在可以对尚未为其创建特定可组合项的每个小部件使用 android Views in Compose。
@Composable
fun CustomView()
val selectedItem = remember mutableStateOf(0)
// Adds view to Compose
AndroidView(
modifier = Modifier.fillMaxSize(), // Occupy the max size in the Compose UI tree
factory = context ->
// Creates custom view
CustomView(context).apply
// Sets up listeners for View -> Compose communication
myView.setOnClickListener
selectedItem.value = 1
,
update = view ->
// View's been inflated or state read in this block has been updated
// Add logic here if necessary
// As selectedItem is read here, AndroidView will recompose
// whenever the state changes
// Example of Compose -> View communication
view.coordinator.selectedItem = selectedItem.value
)
【讨论】:
以上是关于如何在 Jetpack Compose 中使用小部件?的主要内容,如果未能解决你的问题,请参考以下文章
Jetpack Compose ScrollableTabRow 如何调整最小宽度
如何在 Android Jetpack Compose 中使用字符串资源?
如何将 CameraView 与 Jetpack Compose 一起使用?
如何在 Android Jetpack Compose 中结合使用 LazyColumn stickyHeader 和 Paging?