J'écrivais une application Android. Je essentiellement créé la ressource dimen
suivante:Pourquoi la ressource dimen est-elle incohérente et comment obtenir la valeur correcte?
<dimen name="button_text_size">11pt</dimen>
Et je l'utilise à la fois mon xml et du code Java pour créer un Button
et un TextView
qui taille du texte est 11pt. Voici comment je l'ai fait:
XML
<Button
android:layout_width="match_parent"
android:layout_height="0dp"
android:textSize="@dimen/button_text_size"
android:text="secret!"
android:layout_margin="@dimen/button_margin"
android:background="secret!"
android:layout_weight="1"
android:onClick="secret!"/>
code Java
TextView text = new TextView (this);
text.setLayoutParams (new LinearLayout.LayoutParams (0, ViewGroup.LayoutParams.WRAP_CONTENT, 3));
text.setText (secret);
text.setTextSize (getResources().getDimension (R.dimen.button_text_size));
En théorie, le texte des deux vues devrait être de la même taille. Mais la taille du texte de la vue de texte semble être plus grande! Je ne sais pas pourquoi cela arrive. Je suppose que c'est à cause de certains problèmes avec les unités, mais qu'est-ce qui se passe réellement? Comment obtenir les valeurs correctes?
Juste une question de plus, si j'utilise sp, suis-je capable d'utiliser la méthode dans ma question? Je veux dire la surcharge setTextSize (float). – Sweeper
oui vous pouvez utiliser la méthode setTextSize, ou vous voulez demander autre chose? – Pavan
Merci pour votre réponse! – Sweeper