可点击框使其"non-clickable parent box"也可点击?



代码片段如下:

Box(
Modifier
.size(48.dp, 48.dp)
.background(Color.Transparent)
.align(Alignment.CenterEnd)
)
{
Box(
Modifier
.size(height = 35.636363.dp, width = 41.818181.dp)
.align(Alignment.CenterEnd)
.clip(RoundedCornerShape(topStart = 20.dp, bottomStart = 20.dp))
.clickable(onClick = {showDialogFragment.value = true})
.background(Color.Red)
)
}

每当我点击父框(一个是透明的),它激活其唯一的子框的点击事件。为什么如此?当前的行为符合我的需要,但我不明白为什么会这样。

根据材料指南,最小触摸尺寸为48.dp

从1.1.0-alpha03开始,当你在小于此值的视图中添加触摸检测时,跟踪将在放大的帧上工作。

在ViewConfiguration中添加了最小触摸目标大小,用于语义和指针输入,以确保可访问性。

出于好奇,您可以使用pointerInput修饰符检查当前视图的扩展触摸填充,它位于Compose:

中的所有触摸处理之下。
.pointerInput(Unit) {
println("$extendedTouchPadding")
}

相关内容

  • 没有找到相关文章

最新更新