2016-01-09 3 views
2

Comment puis-je implémenter la disposition (ou la vue) qui va placer les images le plus rationnellement dans une zone 3: 4, 1: 1 ou 4: 3. L'ordre des images est important. les images peuvent être coupées. Par exemple:Disposition (ou vue) de la mosaïque Android

2 images de grande taille:

2 tall pictures

5 grandes images:

5 wide pictures

... et ainsi de suite ...

Répondre

0

Je ne peux pas commentez votre question pour dire que vos exemples n'apparaissent pas dans votre question. Mais je voudrais proposer d'utiliser cette bibliothèque AndroidMosaicLayout pour afficher vos images en mosaïque.

Actuellement, cette bibliothèque permet d'utiliser 90 motifs différents constitués de 4 formes de base (petit carré, grand carré qui est 4 petits carrés, rectangle vertical et rectangle horizontal, les deux rectangle se compose de 2 petits carrés).

Vous devez définir le motif dont vous avez besoin à l'aide d'un tableau décrivant ce motif, ce tableau de taille 8, de sorte que chaque motif de la grille de base qui le compose se compose de 8 petits carrés.

Par exemple, si vous voulez obtenir le crépitement suivant:

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

Vous devez définir modèle en définissant le rôle de chaque carré de la principale 8 carré de mise en forme tout le motif. Donc, pour cette forme, le motif sera comme ceci:

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 
}; 
+0

Comment pouvons-nous définir l'orientation de verticale à horizontale, il n'y a pas de documentation sur le changement d'orientation dans cette bibliothèque? –