2

如何实现将图像最合理地放置在 3:4、1:1 或 4:3 区域的布局(或视图)。图片顺序很重要;图像可能会被裁剪。例如:

2张高图:

2张高大的照片

5张宽幅图片:

5张宽幅图片

...等等...

4

1 回答 1

0

我不能评论你的问题,说你的例子没有出现在你的问题中。但我想建议使用这个库AndroidMosaicLayout以马赛克图案显示您的图像。

实际上,这个库可以使用 90 种不同的图案,由 4 个基本形状组成(小正方形、由 4 个小正方形组成的大正方形、垂直矩形和水平矩形,两个矩形都由 2 个小正方形组成)

您必须使用描述该图案的数组来定义您需要的图案,这个大小为 8 的数组,因此每个图案构成它的基本网格由 8 个小方块组成。

例如,如果您想获得以下模式:

 ----------- ----------- ----------- -----------
|           |           |                       |
|           |   img 2   |         img 3         |
|   vert.   |   small   |   horiz.      horiz.  |
|           |           |                       |
|   img 1   | --------- | --------- | --------- |
|           |                       |           |
|           |         img 4         |   img 5   |
|   vert.   |   horiz.      horiz.  |   small   |
|           |                       |           |
 ----------  ----------- ----------- -----------

您需要通过为塑造整个图案的主要 8 个正方形中的每个正方形设置角色来定义图案。所以对于这种形状,图案将是这样的:

BLOCK_PATTERN pattern[] = { 
        BLOCK_PATTERN.VERTICAL, BLOCK_PATTERN.SMALL, BLOCK_PATTERN.HORIZONTAL, BLOCK_PATTERN.HORIZONTAL,
        BLOCK_PATTERN.VERTICAL, BLOCK_PATTERN.HORIZONTAL, BLOCK_PATTERN.HORIZONTAL, BLOCK_PATTERN.SMALL 
};
于 2016-04-12T06:52:08.417 回答