1

我正在尝试以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);

这是我得到的结果:

在此处输入图像描述

虽然我期待这样的事情:

在此处输入图像描述

请问我做错了什么???

谢谢 !!!

编辑 编辑 编辑

即使我将视图的 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);
4

1 回答 1

1

恕我直言:您的其他行和列是空的,因此宽度为零。您的其余空间被该单个单元格填充,并占用所有空间。

尝试添加更多其他颜色的子视图,然后您就会明白会发生什么。

于 2013-09-02T10:19:59.123 回答