出现错误 @Composable 调用只能在 @Composable 函数的上下文中发生 |可组合在pointerInput中

问题描述 投票:0回答:1

我想在 detectorDragGestures 中调用 Text,但它给出错误

错误:@Composable 调用只能在 @Composable 函数的上下文中发生

Canvas(
        modifier = Modifier
        .fillMaxSize()
        .pointerInput(Unit) {
            detectDragGestures(
                onDragStart = { touch ->
                    Text("0")
                },
                
            )
        }
    )
android events drag modifier composable
1个回答
0
投票

如果您想在拖动时显示

Text
可组合项,那么您可以像本示例中那样管理
mutableState

val showText = remember { mutableStateOf(false) }

if(showText)
    Text("0")

Canvas(
    modifier = Modifier
        .fillMaxSize()
        .pointerInput(Unit) {
            detectDragGestures(
                onDragStart = { touch ->
                    showText.value = true
                },
                //...
            )
    }
)

注意: 拖动结束后不要忘记将变量设置为

false

您还可以使用

Text
AnimatedVisibility
制作动画。

© www.soinside.com 2019 - 2024. All rights reserved.