2014-07-10 3 views
1

Si j'ai une disposition de table avec dis 2 lignes et 2 colonnes. Chaque boîte de table de quadrant a un texte statique comme "box_11", "box_12", "box_21", "box_22". Je veux que la taille du texte soit plus grande pour un plus grand écran et plus petite pour les petits écrans. Je veux que le texte évolue en fonction de la taille de l'écran. Comment dois-je le faire?
Je suppose que je devrais utiliser le fichier dimens.xml, définissant:
<dimen name="activity_text_size">15sp</dimen>
Alors je devrais utiliser android:textSize="@dimen/activity_text_size"

Je vois qu'il ya différentes « valeurs » des répertoires comme les valeurs, les valeurs, les valeurs-sw600dp-sw720dp_land, les valeurs -v11, values-v14 dans mon espace de travail de projet. Chaque répertoire 'values' peut avoir un fichier dimens.xml. Sur quelle base un dimens.xml est-il sélectionné lorsque vous avez plusieurs fichiers?Android: Quel fichier dimens.xml a été choisi pour la taille de l'écran?

+1

Explication ici: http://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch – matiash

+0

sp est censé mettre à l'échelle (c'est ce que cela signifie, scaling pixel indépendant). Ne commencez pas à créer des dimensions différentes sauf si vous en avez réellement besoin. Et lorsque vous commencez à corriger un problème de police, concentrez-vous sur l'utilisation de qualificatifs de densité différents, pas de qualificatifs de taille de mise en page différents. –

Répondre

1

par exemple:

// dans dimen.xml (600dp)

<resources> <dimen name="activity_text_size">15dp</dimen> </resources>

// dans dimen.xml (sw720dp_land)

<resources> <dimen name="activity_text_size">20dp</dimen> </resources>

// en dimen.xml (w820dp)

<resources> <dimen name="activity_text_size">25dp</dimen> </resources>

et pour toute taille de l'écran que vous utilisez dimen.xml spécifiques qui devraient (votre cible de taille) et utiliser le même dimen.name pour elle.

0

En ce qui concerne le lien de @ matiash et une autre ressource officielle: - http://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch - https://developer.android.com/guide/practices/screens_support.html

Les densités 'standard' qui sont pris en charge sont les suivants:

Un ensemble de six densités généralisées:

  1. LDPI (faible) ~ 120dpi

  2. mdpi (moyen) ~ 160dpi

  3. hdpi (haut) ~ 240dpi

  4. xhdpi (extra-haute) ~ 320dpi

  5. xxhdpi (extra-extra-haute) ~ 480dpi

  6. xxxhdpi (extra-extra-extra-haute) ~ 640dpi

Lorsque vous créez votre application avec plusieurs fichiers dimen.xml, celui qui est adapté à cette taille d'écran est choisi.

Si dans le cas qu'une ressource ne soit pas prévu que la densité d'écran spécifique:

Si aucune ressource correspondante est disponible, le système utilise la ressource par défaut et échelles ou vers le bas au besoin pour correspondre à la taille de l'écran et la densité

Hope this vous aide :)

Questions connexes