J'essaie de comprendre s'il existe un moyen de dessiner des bitmaps sur la toile dans des unités DP au lieu de pixels. Par exemple: le code suivant échoue au 100 * 100 px. Comment puis-je changer plutôt que c'est 100 * 100 dp?
int lengthPos = 10; int heightPos = 10 mImage.setBounds(lengthPos, heightPos, (lengthPos + 100), (heightPos + 100)); mImage.draw(c);
3 Réponses :
Vous ne pouvez pas directement, mais vous pouvez convertir entre px et dp. Voir la réponse dans ce Stackoverflow Post pour plus de détails. P >
Le rapport DP / DX est égal à votre appareil DPI / 160, vous pouvez donc calculer facilement les creux de cette manière.
Utilisez P>
DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); float density = dm.density
float dps = 100; float pxs = dps * getResources().getDisplayMetrics().density; Source (@Romain Guy)