2011-08-12 3 views
0

L'un de vous a-t-il vu les applications de simulateur bong dans Android? Comment feriez-vous cette application? Par exemple, j'ai essayé de le faire en utilisant des mises en page xml. J'ai divisé l'image et l'ai placée dans l'ordre et dans les segments de sorte que lorsqu'une image particulière est pressée une fonction se produira. Le problème est que sur des téléphones différents, la taille des images collectives s'étend de l'écran ou est compressée.Emplacement image/bitmap?

J'ai également essayé d'utiliser des vues de surface avec des images bitmap afin que chaque image individuelle prenne la taille de l'écran et les ajuste en conséquence. J'ai du mal à faire en sorte que les images ne tombent pas les unes sur les autres et soient placées dans l'ordre en descendant l'écran. Je peux obtenir le premier 2 juste en désignant le Rect dst avec la hauteur de départ étant où l'autre a fini mais le troisième et le quatrième ne sont pas montrés sur l'écran. Par exemple j'ai utilisé

Rect dst = new Rect(0, 0, mWidth, mHeight/7); 

Pour la première image qui est sur le dessus. Ensuite, pour la deuxième image

Rect dst = new Rect(0, mHeight/7, mWidth, mHeight/3); 

(mhauteur et mlargeur est la largeur de la toile et la hauteur)

Je ne sais pas comment aller de placer les 2 prochaines photos sous eux et eachother. J'ai essayé

Rect dst = new Rect(0, mHeight/7+(mHeight/3), mWidth, mHeight/7); 

Cela n'a pas fonctionné cependant. Il semble honnêtement très simple à faire et je suis sûr que c'est le cas, mais je ne peux pas sembler obtenir les images pour fonctionner comme je le veux. Existe-t-il un moyen de laisser l'image dans son ensemble et de spécifier quand un certain endroit est sélectionné il fait quelque chose (cela fonctionnerait de la même façon sur tous les téléphones).

Toute aide avec ceci serait grandement appréciée. Toutes les autres idées pour obtenir le résultat que je veux sont également très appréciées. Merci d'avoir pris le temps de lire ceci.

Répondre

1

Eh bien, vous pouvez diviser l'écran en régions comme gauche, haut, largeur, hauteur. Par exemple. Région 1 (0,50,100,100) Région 2 (100,50,100,100).

Et ajoutez un OnTouchListener et utilisez-le pour obtenir des coordonnées tactiles et vérifier à quelle région il appartient. Je ne suis pas sûr que ce soit un bon moyen mais c'est faisable.

+0

Merci, c'est une excellente recommandation. Pensez-vous que cela va correspondre à l'image sur chaque téléphone correctement? – steven

+0

Eh bien, vous devrez utiliser des images de tailles différentes et placez-le dans les différents dossiers drawable. Si vous gardez seulement une copie dans le drawable-ldpi, alors cette image sera automatiquement mise à l'échelle dans les grands téléphones. – blessenm

+0

Cool Je vais regarder dans ça. Merci. – steven