J'ai passé quelque temps hier aux prises avec android mises en page (... ou mieux des mises en page personnalisées). À des fins générales, les formes de la sortie de la boîte configurations que les androïdes, les offres sont plus que suffisant. Mais quand il s'agit de cas d'utilisation plus complexes (prenons l'exemple du carrousel avec chevauchement des images qui sont sur une trajectoire elliptique) je me suis vite rendu compte de la limitation et de la complexité de l'Api android. C'était mon approche:
À l'aide de la boîte de mises en page n'est pas une option pour beaucoup de ingérable questions de la poignée) , toutefois, la nécessité d'objets graphiques qui peut être ajouté à un conteneur (disons ImageView par exemple) est nécessaire afin de réaliser facilement la traduction, rotations, etc... par le biais de l'animation.
Le AbsoluteLayout semble la plus raisonnable de mise en page disponibles pour le but. Il vous permet d'ajouter dérivé de voir les objets et écrire votre propre algorithme pour les positionner. Mais... c'est déconseillé. C'est une honte! Qui veut utiliser l'api obsolète ?
Les prochains la plupart de la chose raisonnable à faire est d'écrire votre propre mise en page sous-classement de la mystique ViewGroup.. et c'est là où le toutes choses tombent en morceaux (au moins il a fait pour moi). C'est compliqué, trompeuse et difficile à faire autant que c'est d'écrire votre propre mise en page personnalisée pour swing (j'ai en fait il ya des années, et je me souviens d'être plus simple).
Ensuite (poussé par le désespoir) sous-classement d'une Vue, une substitution de la méthode onDraw et dessin directement sur une Toile semble la seule solution simple (bien que cela me rappelle les jours de java2D... les longues heures passées à atteindre le haut de 1% de votre projet), mais alors vous êtes à abandonner la pratique intégré dans l'animation des Api que vous souhaitez appliquer pour les graphiques dessinés sur la toile.
La conclusion est que, à moins que j'ai raté quelque chose, le courant android architecture est un peu loin du paradigme de programmation offerts par d'autres technologies d'INTERFACE utilisateur tels que flash ou javafx (je peux facilement mettre en œuvre décrits ci-dessus carrousel en javafx et flash). La raison en est que, en javafx par exemple, la Scène de l'objet (comparable à la Vue du concept d'android) propose par défaut d'une disposition absolue. Vous pouvez ensuite appliquer à d'autres de sortir de la boîte de mises en page si vous le souhaitez. Mais pour les scénarios où une mise en page personnalisée est nécessaire, vous n'avez pas à faire quoi que ce soit.
Je suis un peu surprise que cette option n'est pas disponible sous android, après tout, est un besoin commun qui est traitée par d'autres technologies d'interface utilisateur. J'ai tout de même pense qu'il y a un 5ème option dans android que je n'ai pas trouvé. Tout d'experts qui peuvent fournir des informations sur le sujet?
Merci.