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);

これが私が得る結果です:

ここに画像の説明を入力

私はこのようなものを期待していましたが:

ここに画像の説明を入力

私は何を間違っていますか???

ありがとう !!!

編集 編集 編集

これは、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);
4

1 に答える 1

1

IMHO: 他の行と列は空であるため、幅はゼロです。残りのスペースはその単一のセルで満たされ、すべてのスペースを占有します。

他の色の子ビューを追加してみると、何が起こるか理解できます。

于 2013-09-02T10:19:59.123 に答える