2017-07-18 4 views
0

J'ai testé des émulateurs et des périphériques réels, mais comme vous pouvez le voir, il n'y a pas de changement entre 40 dp et 40,2 dp! Je travaille sur un projet avec une sensibilité de police très élevée et le problème est le comportement du moteur de texte Android.Android TextView taille décimale numéro

Est-il possible d'empêcher cela?

Aidez s'il vous plaît!

Voici le code:

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="SAMPLE TEXT" 
      android:textSize="40dp" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="SAMPLE TEXT" 
      android:textSize="40.2dp" /> 

    </LinearLayout> 

Le résultat:

+0

Voir ceci: https://stackoverflow.com/questions/23981260/should-use-sp-instead-of-dp-for-text-sizes –

+0

Au lieu de le rendre dp sp et vérification –

Répondre

0

Vous devez toujours utiliser SP pour les polices qu'il respecte les préférences de l'utilisateur

<TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="SAMPLE TEXT" 
     android:textSize="40sp" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="SAMPLE TEXT" 
     android:textSize="40.2sp" /> 
+0

Malheureusement, il n'y a pas de changement. Le problème est le comportement du moteur de texte Android. – seyfx

0
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="SAMPLE TEXT" 
    android:textSize="40sp" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="SAMPLE TEXT" 
    android:textSize="40.2sp" /> 

vous pouvez voir la différence comme ceci (dans le studio Android, vous devez zoomer l'écran de mise en page). Il n'y a pas de problème de comportement du moteur de texte android.

enter image description here

+0

Le problème est le comportement du moteur de texte android absulately. J'ai essayé dp, sp, px. J'ai remarqué que lorsque la taille de la police est spécifiée avec la méthode setTextSize dans android textview, les décimales de la taille de la police ont été déterminées en fonction de la résolution et j'ai réalisé cela en utilisant la méthode getTextSize. Il y a une sorte de mécanisme d'arrondi. Voir aussi http://imgur.com/a/JpEps – seyfx