【问题标题】:LinearLayout with nested RelativeLayout, order problem带有嵌套RelativeLayout的LinearLayout,顺序问题
【发布时间】:2011-08-25 22:10:33
【问题描述】:

我遇到了 2 个动态创建的布局的问题,外面的一个是 LinearLayout,它包含一个 relativeLayout 和一个 Button(只是为了测试,我很快就会有更多的按钮)。

我的相对布局基本上是数独游戏的 9x9 按钮排列。

我现在的问题如下,我希望将 relativeLayout 放在 Button 的顶部,而不是在它的下方。以下代码将其放在下面:

MainLayout lay = new MainLayout(this); // MainLayout is derived from RelativeLayout
LinearLayout outerLay = new LinearLayout(this);
outerLay.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
outerLay.setOrientation(LinearLayout.VERTICAL);
Button but = new Button(this);

outerLay.addView(but);
outerLay.addView(lay);

setContentView(outerLay);

这很好用,但如果我像这样重新排列它们:

outerLay.addView(lay);
outerLay.addView(but);

按钮甚至不显示。有人对此有任何线索吗? (顺便说一句,垂直方向也是如此。)。

您好。

【问题讨论】:

    标签: android android-linearlayout android-relativelayout


    【解决方案1】:

    如果你的 MainLayout 布局是这样的:

    setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
    

    屏幕上没有空间可以显示任何内容。

    你的位置太大了。检查它的 layoutParams。希望对你有帮助。

    【讨论】:

    • 感谢您的回答。订单 1 不也是这种情况吗?我还在实际屏幕上看到了足够的未使用空间。
    • 否,因为您的按钮肯定更小。未使用的空间毫无意义,因为您的布局中没有可展示的东西。
    • 尝试:lay.setLayoutParams(new LayoutParams(100, 100));在您的 addViews 之前。
    • 将 relativeLayout 显式设置为 LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT 仍然会导致相同的行为。
    • 感谢 mthpvg,这似乎缩小了错误范围。该按钮是可见的,尽管我在缩放方面遇到了严重的问题。我会解决的,谢谢你的帮助。
    猜你喜欢
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 2013-12-26
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多