android live wallpaper changement d'échelle
Je suis en train d'apprendre comment faire des fonds d'écran animés, mais j'ai un dilemme, je suis sûr que tous ceux qui start off ont ainsi.
Il y a tellement de résolution des tailles d'écran, comment puis-je faire un ensemble d'œuvres d'art à être mise à l'échelle dans le code pour toutes les versions? Je sais que ça a été fait comme j'ai vu les images dans l'apk sur beaucoup d'entre eux et ils ont remis à l'échelle.
Si c'était juste une image qui n'a pas besoin de positionnement que ce serait facile, mais mon problème est que je dois obtenir l'arrière-plan de l'image redimensionnée pour s'adapter à tous les périphériques, j'ai aussi des animations qui s'inscrivent dans une certaine position x et y sur cette image de fond d'ajustement à la place de sorte qu'il ressemble de l'ensemble de fond est en cours d'animation, mais seulement des parties est (à ma façon de rester loin de 300 images de trame par trame de fonds d'écran animés).
Donc l'image d'arrière-plan doit être mise à l'échelle et les animations besoin d'être mise à l'échelle ainsi que le pourcentage exact que l'image de fond et ils ont besoin de s'asseoir dans une position x et y.
Toute aide serait appréciée afin que je puisse obtenir ce que ça va.
Je fatigue un peu les choses, pensé que je pourrais faire un scaler pour tout exemple: int scaler; puis en onSurfaceChanged scaler = largeur /1024; //si l'image plus grande est de 1024. qui me donnera un ratio de travailler avec le monde entier. puis à l'échelle en conséquence en utilisant scaleBitmap en multipliant le redimensionnement de l'image en hauteur et en largeur, et également utiliser la même échelle de comptage pour le positionnement exemple à l'image de x permet de dire est à 50, mise à l'échelle à l'aide de la même chose x = scaler * 50; qui devrait prendre soin d'échelle et la position, juste comment traduire tout cela en java est la prochaine leçon, depuis que je suis nouveau à java, j'ai utilisé de programme pour le flash et php, mais c'est un peu différent, certains s'y habituer. La prochaine chose est de savoir comment pan de la largeur, lorsque vous déplacez votre écran de gauche à droite comment faire de l'image à afficher est le puzzle suivant, j'ai la figure. Droit maintenant, il montre la même largeur n'importe quoi, même si la largeur est le double de ce que la surface de la montre. Si vous avez obtenu une réponse, ou quelque part où je peux trouver l'info sur ce que serait grandement apprécié.
OriginalL'auteur sam | 2011-03-06
Vous devez vous connecter pour publier un commentaire.
Eh bien, euh, tout ce que je peux dire, c'est "Bienvenue dans le monde réel." Vous obtenez votre écran de dimensions transmis via onSurfaceChanged, et oui, c'est votre travail pour comprendre comment à l'échelle de tout sur cette base de données. C'est pourquoi ils nous payer le gros lot. 🙂
Vous voulez vous assurer que vos ressources sont assez grand pour accueillir le plus grand écran que vous avez l'intention de soutenir, de sorte que vous serez toujours le rétrécissement des choses (qui déforme beaucoup moins que d'étendre les choses).
Suggère de commencer avec les "meilleures pratiques pour l'écran de l'indépendance" ici: http://developer.android.com/guide/practices/screens_support.html
Des commentaires supplémentaires re votre demande pour obtenir de l'aide...
Ce n'est pas "facile" de codage--apps sont plus faciles que papier peint. 🙂
Bonne chance...George
P. S. je vais jeter une chose de plus: quelque part le long de la ligne que vous pourriez vouloir récupérer le "souhaité largeur minimale" du fond d'écran désiré par le lanceur d'applications, de sorte que vous pouvez comprendre clairement la virtualisation implicite dans xPixels. Par exemple, dans mon moteur constructeur, j'ai
Mon appareil est de 320 pixels de largeur; - je obtenir mDW = 640; comme je le défilement de l'écran pour l'écran, xPixels changements de 80 à chaque fois...parce que quatre rouleaux (sur les cinq écrans) est censé doubler le montant de l'a révélé l'artwork (cet effet est appelé "parallax scrolling"). Le plus à droite de la section a xPixels est égal à 0; le centre (cinq) des sections a xPixels = -160, etc.
OriginalL'auteur George Freeman
J'ai utilisé ce bout de code à l'échelle d'une image pour l'adapter à différentes tailles d'écran.
Assurez-vous que les bords ne contiennent pas des informations vitales comme il sera à l'échelle de l'image sur certains écran ratios.
OriginalL'auteur Music Monkey