视图填充所有可用空间

时间:2013-09-02 08:17:47

标签: android android-gridlayout

我正在尝试以编程方式使用GridLayout

这是我的代码:

    GridLayout p = new GridLayout(this);
    p.setRowCount(20);
    p.setColumnCount(20);
    View c = new View(this);
    c.setBackgroundColor(this.getResources().getColor(R.color.darkbluetheme));
    Spec specusata = android.support.v7.widget.GridLayout.spec(1,2);
    Spec specusata2 = android.support.v7.widget.GridLayout.spec(1,2);
    p.addView(c,new LayoutParams(specusata,specusata2));
    setContentView(p);

以下是我得到的结果:

enter image description here

虽然我期待这样的事情:

enter image description here

请问我做错了什么???

谢谢!!!

编辑编辑编辑

即使我将View的LayoutParams设置为WRAP_CONTENT:

,也会发生这种情况
    GridLayout p = new GridLayout(this);
    p.setRowCount(20);
    p.setColumnCount(20);
    View c = new View(DayActivity.this);
    c.setBackgroundColor(this.getResources().getColor(R.color.darkbluetheme));
    Spec specusata = android.support.v7.widget.GridLayout.spec(1);
    Spec specusata2 = android.support.v7.widget.GridLayout.spec(1);
    c.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    p.addView(c,new android.support.v7.widget.GridLayout.LayoutParams(specusata,specusata2));
    setContentView(p);

1 个答案:

答案 0 :(得分:1)

恕我直言:你的其他行和列是空的,因此零宽度。你的剩余空间充满了那个单细胞,并占据了所有空间。

尝试使用其他颜色添加更多子视图,然后您将了解会发生什么。

相关问题