web-dev-qa-db-fra.com

Devrait utiliser "sp" au lieu de "dp" pour les tailles de texte

Quand j'utilise

Android:textSizes="20dp" 

dans mon XML pour un textView, j'ai reçu un avertissement "Devrait utiliser" sp "au lieu de" dp "pour les tailles de texte." 

Pourquoi "dp" ne devrait-il pas être utilisé? Quelle est la bonne approche? Comment puis-je obtenir la même taille de texte sur différents écrans?

20
Peter Panne

Vous devez toujours utiliser SP pour les polices, dans le respect des préférences de l'utilisateur. Voici un exemple Permet de le comprendre à l'aide d'un exemple - 

Texte avec SP et DP

 enter image description here

Modifier le paramètre de texte du périphérique (Paramètres -> Affichage -> Taille de la police)

 enter image description here

Maintenant, rouvrez l'application et relisez les textes. Vous verrez que le texte qui utilisait SP a une hauteur différente de celle de DP.

 enter image description here

29
Ajit Singh

Vous pouvez utiliser sp et dp. Comme vous le savez dans les paramètres Android, vous pouvez modifier la taille du texte (Paramètres -> Mon appareil -> Affichage -> Taille de la police). Tout votre textView dans sp changerait après avoir changé la taille de la police dans les paramètres, dp - ne changerait pas

25
resource8218

Vous pouvez utiliser les deux

sp pour les tailles de police
dp pour tout le reste.

dp
Pixels indépendants de la densité - unité abstraite basée sur la densité physique de l'écran. Ces unités étant relatives à un écran de 160 dpi, un dp correspond à un pixel sur un écran de 160 dpi. Le rapport dp sur pixel changera avec la densité de l'écran, mais pas nécessairement proportionnellement. Remarque: le compilateur accepte à la fois "dip" et "dp", bien que "dp" soit plus compatible avec "sp".

sp
Pixels indépendants de l'échelle - cela ressemble à l'unité dp, mais il est également réduit en fonction de la préférence de taille de police de l'utilisateur. Il est recommandé d’utiliser cet appareil lors de la définition des tailles de police afin qu’elles soient ajustées en fonction de la densité de l’écran et des préférences de l’utilisateur.

Pour plus d'informations, voir Différence entre px, dp, dip et sp sous Android?

12
Giru Bhai

Comme @GiruBhai est partagé, il est plus pratique d'utiliser sp au lieu de dp pour la taille du texte, car celui-ci peut être modifié (contrairement à dp) en fonction des préférences de l'utilisateur.

Plus d'informations. : Dimensions dans Android

Source: développeur.Android.com

0
Recomer