Modifier 的 pointerInput 不采取任何操作
pointerInput of Modifier takes no actions
我需要一个 Card()
具有正常按下和长按功能的可组合项,用于自定义卡片可组合项。
问题是 Card()
有自己的值 onClick = {}
并且它工作正常但没有长按选项。所以我研究了是否有一种方法可以在不设置我自己的整个 Card Composable 样式的情况下处理它,你去吧,修改器有一个名为 Modifier.pointerInput
的自己的函数,我已经尝试过但不幸的是它不起作用。
是不是我用错了,或者这个功能在 Card()
中不可用?
这是我的实现(Adapted from the Android Docs):
Card(
modifier = Modifier.pointerInput(Unit) {
detectTapGestures(
onPress = { clickable() },
onLongPress = { longClickable() }
}
)
我是否应该停用 Card 的 onClick
功能?
只需添加尺寸修饰符。此代码对我有用:
Card(
modifier = Modifier
.fillMaxSize()
.background(Color.Magenta)
.pointerInput(Unit) {
detectTapGestures(
onPress = { Log.d("mlogs", "LoginScreen: onPress") },
onLongPress = { Log.d("mlogs", "LoginScreen: onLongPress") })
}
, content = {}
)
我需要一个 Card()
具有正常按下和长按功能的可组合项,用于自定义卡片可组合项。
问题是 Card()
有自己的值 onClick = {}
并且它工作正常但没有长按选项。所以我研究了是否有一种方法可以在不设置我自己的整个 Card Composable 样式的情况下处理它,你去吧,修改器有一个名为 Modifier.pointerInput
的自己的函数,我已经尝试过但不幸的是它不起作用。
是不是我用错了,或者这个功能在 Card()
中不可用?
这是我的实现(Adapted from the Android Docs):
Card(
modifier = Modifier.pointerInput(Unit) {
detectTapGestures(
onPress = { clickable() },
onLongPress = { longClickable() }
}
)
我是否应该停用 Card 的 onClick
功能?
只需添加尺寸修饰符。此代码对我有用:
Card(
modifier = Modifier
.fillMaxSize()
.background(Color.Magenta)
.pointerInput(Unit) {
detectTapGestures(
onPress = { Log.d("mlogs", "LoginScreen: onPress") },
onLongPress = { Log.d("mlogs", "LoginScreen: onLongPress") })
}
, content = {}
)