我正在尝试以编程方式使用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);
以下是我得到的结果:
虽然我期待这样的事情:
请问我做错了什么???
谢谢!!!
编辑编辑编辑
即使我将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);
答案 0 :(得分:1)
恕我直言:你的其他行和列是空的,因此零宽度。你的剩余空间充满了那个单细胞,并占据了所有空间。
尝试使用其他颜色添加更多子视图,然后您将了解会发生什么。