在运行时获取 Jetpack Compose 组件层次结构?

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

是否可以获取从根到特定组件的组件层次结构。

类似于使用

onNodeWithTag
获取一个组件,然后走上父级打印一个完整的层次结构。这可以在 Android Compose 本身的运行时完成(而不是在 E2E 测试期间)吗?

例子:

@Composable
fun MyScreen() {
    Surface {
        Button(onClick = { println("Clicked: " + getComponentHierarchyHereFromRootToButton()) }
    }
}

所以当我点击它打印的按钮

Clicked MyScreen.Surface.Button

我发现这个库会自上而下地打印出整个层次结构。我不确定如何知道我正在搜索哪个组件(触发回调的组件)。如果这个问题得到解决,从那个组件向上看会比自上而下搜索它要好(但不一定是破坏交易的因素)。

https://github.com/square/radiography

android kotlin android-jetpack-compose
© www.soinside.com 2019 - 2024. All rights reserved.