130 votes

TextView.setTextSize se comporte anormalement - comment définir la taille du texte de textview dynamiquement pour différents écrans

L'Appel De TextView.setTextSize fonctionne anormalement. Juste après l'appel à setTextSize si nous obtenons un getTextSize son retour d'une valeur beaucoup plus élevée que ce que nous avons choisi plus tôt.

Voici ce que nous faisons:

 zoomControl.setOnZoomInClickListener(new OnClickListener() {
 public void onClick(View view) {
 float size = mViewShabad.getTextSize() + 1;
textView.setTextSize(taille);
}
});

Quelqu'un a déjà vu ça?

378voto

kcoppock Points 57219

La différence ici est que dans la `` méthode, l’unité de type par défaut est « sp » ou « mise à l’échelle pixels ». Cette valeur sera une dimension de pixel différent pour chaque densité de l’écran (ldpi, mdpi, hdpi).

``, en revanche, retourne les dimensions en pixels réels du texte.

Vous pouvez utiliser `` pour spécifier un type d’unité. Les valeurs de constante pour cela se trouvent dans la classe TypedValue, mais certains d'entre eux sont :

21voto

M_AWADI Points 1555

ce problème est arrivé parce que le `` retour de méthode, la taille en pixels dépend de la densité des écrans ! pour obtenir l’utilisation réelle TextSize ceci :

J’espère que ça  :) le résoudre

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X