を使用して Android で pinterest のようなレイアウトを作成することはできますGridView
か? を使用して画像ギャラリーを作成したいのですGridView
が、それが良い解決策かどうかわかりません。3つ作成したくありませんLinearLayouts
(この解決策は良くないと思います:AndroidのPinterestスタイルのリストビューまたはグリッドビュー)
何か案は ;)?
を使用して Android で pinterest のようなレイアウトを作成することはできますGridView
か? を使用して画像ギャラリーを作成したいのですGridView
が、それが良い解決策かどうかわかりません。3つ作成したくありませんLinearLayouts
(この解決策は良くないと思います:AndroidのPinterestスタイルのリストビューまたはグリッドビュー)
何か案は ;)?
私もこれで遊んでいます(LinearLayoutを使用)が、最後にメモリ消費に多くの問題がありました(特にアイテムをリロードする必要がある場合)。2 つの同期されたListViewsを使用する単純なソリューションに落ち着きました。このようにして、非常に役立つ内部キャッシュを活用できます。これを行うには、リストを同期するOnTouchListenerとOnScrollListenerを使用する必要がありました。次に例を示します。
次のようなレイアウトを作成します
<ScrollView...>
<LinearLayout....
android:id="@+id/linear1"
orientation="horizontal">
<LinearLayout....
android:id="@+id/linear2"
android:layout_weight="0.33"
orientation="vertical">
<LinearLayout....
android:id="@+id/linear3"
android:layout_weight="0.33"
orientation="vertical">
<LinearLayout....
android:layout_weight="0.33"
orientation="vertical">
</LinearLayout>
</ScrollView>
ImageView
次に、レイアウトに動的に追加します
linear1 = (LinearLayout) findViewById(R.id.linear1);
linear2 = (LinearLayout) findViewById(R.id.linear2);
linear3 = (LinearLayout) findViewById(R.id.linear3);
for(int i=0;i<n;i++)
{
ImageView iv = new ImageView(this);
iv.setImageResource(R.id.icon);
int j = count % 3; <----
if(j==0)
linear1.addView(iv);
else if(j==1)
linear2.addView(iv);
else
linear3.addView(iv);
}
出力:
Pinterest のようなグリッド ビューを実装するための便利なライブラリ:
この質問への最近の訪問者には、RecyclerView
withを使用することをお勧めしStaggedGridLayoutManager
ます。十分以上の機能と柔軟性を備えています。
2 つの ListView のスクロールを同期するためのスタンドアロン ヘルパー: https://gist.github.com/yanchenko/6179793
私はこのライブラリを使用しています: https://github.com/huewu/PinterestLikeAdapterView。
それはかなりうまくいきます。私が持っている唯一の問題は、setOnItemClickListener
とsetOnItemLongClickListener
が少しバグがあることです。そのため、convertView に直接リスナーを設定します。