如何实现将图像最合理地放置在 3:4、1:1 或 4:3 区域的布局(或视图)。图片顺序很重要;图像可能会被裁剪。例如:
2张高图:
5张宽幅图片:
...等等...
我不能评论你的问题,说你的例子没有出现在你的问题中。但我想建议使用这个库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
};