Android马赛克布局(或视图)

时间:2016-01-09 17:11:32

标签: android layout imageview mosaic

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

2张高大的照片:

2 tall pictures

5幅图片:

5 wide pictures

......等等......

1 个答案:

答案 0 :(得分: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 
};