混合尺寸图像视图的Android滚动视图,像俄罗斯方块一样合在一起

时间:2012-12-12 16:24:34

标签: android gridview size imageview scrollview

我想要创建的是所有不同尺寸的图像的滚动视图,它们完美地结合在一起,没有任何明显的行或列。每个图像代表一种食物,每种食物都有一定比例的来自所有其他用户的投票。投票百分比决定了图像视图的大小。有点棘手的是我想让所有这些不同大小的图像视图在图像的混合网格图中整齐地整合在一起。为了让你可以看到我想要创建的内容,想象一下与scollview中的http://www.todomap.net/类似的东西。

我通常会发布到目前为止我尝试过的代码,但我的尝试都没有结束。我甚至无法想出一组好的关键词来搜索类似的例子。

1 个答案:

答案 0 :(得分:0)

只需使用gridlayout。您可以根据需要添加具有行跨度和列跨度的视图。并且您将获得您所指的网站图像的完整副本。

只需扩展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);
}

然后,您可以向gridlayout添加视图,它将为它们找到最佳位置。 请记住定义 行,列,square_width和square_height

setRowCount(rows);
setColumnCount(columns);