首页 文章

使用inflate xml和子节点自定义LinearLayout

提问于
浏览
1

我有一个自定义导航类,其中有共同的视图,因此我想将它们放入一个布局,由自定义类充气,并在主布局上放置一些导航项目 .

目前,当我扩展linearlayout时,xml中的视图替换了膨胀视图中的所有视图(我将此代码放在构造函数上)

((Activity) context).getLayoutInflater().inflate(R.layout.navigation_group, this ,true);

有没有办法我可以膨胀布局并获取xml实现的子项并将其放在一个视图上?喜欢

布局要夸大

<com.mycompany.NavigationGroup>
   <Text android:text="title" ... />
   <Button android:text="collapse" ... />
   <LinearLayout android:id="@+id/navigationItemHolder ... />
   <Text android:text="descriptions" ... />
</com.mycompany.NavigationGroup>

用于主要布局

<com.mycompany.NavigationGroup>
   <Button android:text="menu 1" />
   <Button android:text="menu 2" />
</com.mycompany.NavigationGroup>

我的问题是如何将menu 1和menu 2放在navigationItemHolder中?谢谢

1 回答

  • 1

    您可以在扩充布局后以编程方式执行此操作 . 我相信你可以这样做:

    YourLayout layout = (YourLayout)((Activity) context).getLayoutInflater().inflate(R.layout.navigation_group, this ,true);
    layout.((LinearLayout)getChildAt (3)).addView (yourNavigationGroup);
    

相关问题