Android:以编程方式前置LinearLayout



我在我的应用程序中创建了一个布局,包括以下内容:
main_layout (FrameLayout,满屏)
->包括:main_interface (LinearLayout, height/width填充parent)

现在我想在main_interface之前的main_layout中添加另一个LinearLayout。我试过了:

LinearLayout bar = new LinearLayout(this);
        bar.setGravity(Gravity.TOP);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
        bar.setLayoutParams(params);
        main_layout.addView(bar);

但是这正好重叠了我的main_interface

任何帮助吗?

如果您想在ViewGroup中添加View到特定位置,您可以使用addView(view, position)。在本例中,假设main_interface是第一个View,则可以调用main_layout.addView(bar, 0)

然而,你需要先修复你的布局。如果使用FrameLayout作为main_layout,将main_interface的高度和宽度设置为match_parent,那么它们肯定会重叠。如果您想要垂直堆叠View s,请尝试将main_layoutandroid:orientation="vertical"一起制作LinearLayout

如果你可以张贴你的实际XML布局,我可以帮助你修改和测试它

相关内容

  • 没有找到相关文章

最新更新