2

私が作成しようとしているのは、明らかな行や列がなくても完全に収まる、さまざまなサイズの画像のスクロールビューです。各画像は食品を表し、各食品は他のすべてのユーザーからの投票の特定の割合を持っています。投票の割合によって画像ビューのサイズが決まります。ちょっとトリッキーになるのは、これらの異なるサイズの画像ビューをすべて、画像の混合グリッドマップにきちんと収まるようにしたいということです。私が作成しようとしているものを視覚化するために、このhttp://www.todomap.net/に似たものをscollview 内に想像してください。

私は通常、これまでに試したことのコードを投稿しますが、私の試みはどれも近づいていません。似たような例を検索するための適切なキーワードのセットを思いつくことさえできません。

4

1 に答える 1

0

グリッドレイアウトを使用するだけです。必要に応じて、行スパンと列スパンを持つビューを追加できます。そして、あなたが参照していたウェブサイトの画像の正確なレプリカを取得します.

gridLayout を拡張するだけです。次の機能を使用します

private Spec getSpan(int span) {
    return spec(UNDEFINED, span, FILL);
}

public void addView(View view, int row_span, int column_span) {
    LayoutParams params = new LayoutParams(getSpan(row_span), getSpan(column_span));
    params.height = square_height*row_span;
    params.width = square_width*column_span;
    addView(view, params);
}

次に、グリッドレイアウトにビューを追加すると、ビューに最適な場所が見つけられます。行、列、square_width、square_heightを定義することを忘れないでください。

setRowCount(rows);
setColumnCount(columns);
于 2013-07-10T23:05:44.320 に答える