J'ai créé plusieurs bitmaps - un pour chaque dossier (mdpi, hdpi, ldpi). Quelqu'un peut-il me montrer du code ou me pointer vers la méthode appropriée qui me permettra de détecter quelle ressource Android a décidé de charger.Comment déterminer quelle ressource bitmap a été chargée (ldpi, mdpi ou hdpi)?
Merci,
Merci. Je charge via getResources(), R.drawable et ce sera toujours un bitmap. Si cela finit en prod est encore à déterminer. Cela dépend de ce que j'apprends avant. Si le framework choisit toujours la densité correcte, je n'aurai pas à faire autant, mais je ne voulais pas supposer qu'il était sans bug, donc je voulais vérifier qu'il avait choisi ce que j'attendais en fonction des dimensions de l'écran. Si ce n'est pas le cas, je le mettrai moi-même à l'échelle et je définirai des valeurs afin que je puisse calculer les emplacements des bitmaps sur l'écran. Il y a d'autres raisons pour lesquelles je veux cette information, mais je manque de caractères que je peux taper dans ce commentaire. – Mike
Vous ne voudriez pas le redimensionner vous-même - le framework met automatiquement à l'échelle un drawable (y compris les dimensions qui vous sont rapportées) en fonction de la densité de son bitmap par rapport à la densité du périphérique.Il y a beaucoup de choses subtiles faites pour s'assurer qu'un dessinable dans une densité différente de la densité dans laquelle travaille l'application se comportera comme si c'était dans la densité de l'application. Ceci est fondamental pour des choses comme le code de compatibilité de densité qui garantit que les applications écrites avant le 1.6 fonctionnent encore sur un appareil avec différents écrans de densité. – hackbod
Une des raisons pour lesquelles j'ai pensé à faire cela est quand j'avais un bitmap d'arrière-plan qui était de 480 x 800 et que je l'ai testé sur un écran de 480 x 854, il y avait un trou en bas. En d'autres termes, il ne l'a pas automatiquement adapté à cet écran. Dès que j'ai mis le code à l'échelle moi-même, ça avait l'air bien. Êtes-vous en train de dire qu'il était censé évoluer automatiquement vers l'écran 480 x 854? – Mike