画像を 3:4、1:1、または 4:3 の領域に最も合理的に配置するレイアウト (またはビュー) を実装するにはどうすればよいですか? 画像の順序は重要です。画像がトリミングされる場合があります。例えば:
背の高い写真 2 枚:
5 ワイド画像:
...等々...
あなたの例があなたの質問に表示されないと言うためにあなたの質問にコメントすることはできません。しかし、このライブラリAndroidMosaicLayoutを使用して画像をモザイク パターンで表示することを提案したいと思います。
実際、このライブラリでは、4 つの基本図形(小さな正方形、4 つの小さな正方形である大きな正方形、縦の長方形と横の長方形、両方の長方形は 2 つの小さな正方形で構成されている) で構成される 90 の異なるパターンを使用できます。
そのパターンを記述する配列を使用して必要なパターンを定義する必要があります。この配列はサイズ 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
};