0

4 x 6 グリッドに配置する必要があるビューがいくつかあります。各ビューは、同じ幅 w と同じ高さ h を持ち、画面いっぱいに表示する必要があります。私が欲しいのは、GridLayout または GridView を使用してこれらを描画することです。

GridView で StretchMode = "columnWidth" を使用して、各子に等しい幅を設定できることを知っています。また、同じ高さを設定し、画面を垂直に埋めたいと思っています。

GridView のいずれかを使用してこれを達成できますか、または不可能な場合は GridLayout を使用できますか? LinearLayouts に切り替えて重みを使用する前に GridView を探しています。これは、グリッド項目としてカスタム ビューがあり、各要素をコーディングするのではなくアダプターを使用したいからです。

4

2 に答える 2

1

またはAdaptersで引き続き使用できます。プログラムでビューを追加し、 getView() メソッドを自分で呼び出す必要があります。 動的な数のアイテムを対象としており、独自のスクロールを処理します。LinearLayoutsTableLayoutGridView

これは、 onCreateView() などで次のようなものを使用して実行できます。

mAdapter = new FooAdapter();
mList = (LinearLayout) v.findViewById(R.id.list);
for(int i = 0; i< mAdapter.getCount(); i++){
    View child = mAdapter.getView(i, null, mList);
    mList.addView(child);
}

データを変更するだけの可能性がある場合は、古いビューを convertViews として渡すと、速度が向上する可能性があります。

于 2012-06-06T21:43:32.260 に答える
0

線形レイアウトを拡張するカスタム レイアウトを作成しました。私の場合、これがより良いアプローチであり、レイアウト上のすべてのタッチイベントと子自体をより詳細に制御できることがわかりました。

于 2013-01-21T22:21:09.083 に答える