我想访问 Activity 的完整视图层次结构。使用方法可以从其父视图轻松访问本机视图parent.getChildAt(int index)
。我想为使用可组合小部件的活动访问相同的内容。
为了遍历视图层次结构,我使用以下代码:
private void traverseHierarchy(Activity activity){
ViewGroup rootView = (ViewGroup)activity.getWindow().getDecorView();
traversalUtil(rootView);
}
private void traversalUtil(View view){
// code to process the view
if (view instanceof ViewGroup) {
int childCount = ((ViewGroup) view).getChildCount();
for(int i = 0; i < childCount; i++){
traversalUtil(((ViewGroup) view).getChildAt(i));
}
}
}
对于使用 Composable 小部件的活动,使用上述代码可访问的最后一个父级是 AndroidComposeView 类型,我无法访问在 AndroidComposeView 内绘制的 Composable。
使用 Composables 或 AndroidComposeView 时是否有 viewGroup.getChildAt(int index) 的替代方法?