【问题标题】:Android mosaic layout (or view)Android 马赛克布局(或视图)
【发布时间】:2016-04-14 06:44:48
【问题描述】:

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

2 张高大的图片:

5 张宽图:

...等等...

【问题讨论】:

    标签: android layout imageview mosaic


    【解决方案1】:

    我不能评论你的问题,说你的例子没有出现在你的问题中。但我想建议使用这个库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 
    };
    

    【讨论】:

    • 我们如何将方向从垂直设置为水平,这个库中没有关于改变方向的文档?
    猜你喜欢
    • 2020-03-25
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 2010-09-21
    相关资源
    最近更新 更多