首页 > 解决方案 > Android 自定义视图:如何将任意嵌套视图膨胀到自定义 ViewGroup 的另一个后代中

问题描述

我想创建自定义嵌套视图,如下所示:

创建静态自定义视图更容易,其中所有组件都在视图中定义。

在目前的场景中,我想创建自定义视图来扩展其他视图,但也将是一个包含其他任意视图的 ViewGroup。

现在,棘手的部分是如何将后续视图膨胀到内容容器视图中。

custom_panel.xml

    <LinearLayout>
        <TextView text="Title" />
        <CardView>
            <LinearLayout id="+@id/contentContainer"></LinearLayout>
        </CardView>
    </LinearLayout>

自定义面板.java

public class CustomPanel extends LinearLayout {
    // ... Constructor to inflate above layout    
}

活动.xml

<app.CustomPanel>
    <LinearLayout>
        <!-- some other arbitrary views that should be inflated inside content layout -->
    </LinearLayout>
</app.CustomPanel>

我已经知道如何扩展自定义视图,但我正在寻找一种方法,我可以覆盖它以将特定的子视图添加到内容容器(另一个子视图),这样以前的视图就不是父视图的直接后代。

标签: androidxmlandroid-layoutandroid-custom-view

解决方案


推荐阅读