Question

Je suis en train de texte dans TextView de ressource de chaîne. Normalement, fonctionne hébreu en format à gauche. Quand je tournerai un texte, il définit le texte format à gauche dans LG, Samsung, Sony Téléphone mais HTC il ne fonctionne pas. Il fonctionne en format de gauche à droite dans HTC. Même moi, je mets à la gravité TextView dans le fichier Java.

Texte dans TextView doit être portée en fonction de la taille de l'écran. Par exemple, si elle est de 320 x 480 il affiche en 4 lignes, mais si elle est Galaxy Tab il peut y avoir 2 lignes.

Voici mon code snippet:

En Java:

private TextView mVersionInfo, mVersionDescriptionOne, mVersionDescriptionTwo, mVersionDescriptionThree;

mVersionInfo = (TextView)findViewById(R.id.VersionInfo);
mVersionDescriptionOne = (TextView)findViewById(R.id.VersionDesc1);
mVersionDescriptionTwo = (TextView)findViewById(R.id.VersionDesc2);
mVersionDescriptionThree = (TextView)findViewById(R.id.VersionDesc3);

mVersionDescriptionOne.setGravity(Gravity.RIGHT);
mVersionDescriptionTwo.setGravity(Gravity.RIGHT);
mVersionDescriptionThree.setGravity(Gravity.RIGHT);

en XML:

<TextView android:id="@+id/VersionDesc1"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:text="@string/versiondesc1" android:textColor="#000000"
        android:layout_marginTop="5dip" android:gravity="right"
        android:layout_alignParentRight="true" android:layout_marginRight="10dip"
        android:layout_below="@+id/Share" android:textSize="13sp"
        android:layout_alignRight="@+id/Body" />
    <TextView android:id="@+id/VersionDesc2"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:text="@string/versiondesc2" android:textColor="#000000"
        android:layout_alignParentRight="true" android:layout_marginRight="10dip"
        android:layout_below="@+id/VersionDesc1" android:textSize="13sp"
        android:layout_marginTop="5dip" android:gravity="right"
        android:layout_alignRight="@+id/Body" />
    <TextView android:id="@+id/VersionDesc3"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:text="@string/versiondesc3" android:textColor="#000000"
        android:layout_alignParentRight="true" android:layout_marginRight="10dip"
        android:layout_below="@+id/VersionDesc2" android:textSize="13sp"
        android:layout_marginTop="5dip" android:gravity="right"
        android:layout_alignRight="@+id/Body" />

Chaîne de ressources:

<string name="versiondesc1">האפליקציה מתחברת לאתר הספק הסלולרי כדי להציג את מצב החשבון. לעיתים, כשאתר הספק איננו עובד תקין לא יהיה ניתן לקבל מידע. באם אתר הספק ישתנה האפליקציה עלולה להפסיק לעבוד. במצב כזה האפליקציה תחזור לעבודה תקינה מיד לאחר שאנו נתאים את שרת התוכנה שלנו לשינויים.</string>
<string name="versiondesc2">הערה: אנחנו לא מייצגים את חברות הסלולר ולא נמצאים איתן בקשר מסוג כלשהו!</string>
<string name="versiondesc3">אם נתקלת בבעיה, השתמש/י בכפתור יצירת קשר על מנת שנוכל לפתור אותה. נשמח לקבל כל משוב על האפליקציה.</string>

Quel est le problème avec mon code?

Toute personne qui a travaillé avec une autre langue, S'il vous plaît me guider ici.

Merci.

Était-ce utile?

La solution

Gravity n'affectera l'alignement et ne comportera pas la direction de base pour le texte. Qu'il fonctionne sur certains appareils et non d'autres peuvent être un problème de police, ou peut-être un problème de version du système d'exploitation. Essayez d'ajouter un caractère DROIT à-gauche (\ u200F) au début de votre texte. Cela pourrait aider l'affichage sur un HTC et tout ce fait pas mal sur les appareils où il travaille déjà.

Autres conseils

ici est un exemple de ma chaîne xml Hebrew, Merci à la réponse de Ted Hopp:

vous devez ajouter « \ u200e » avant l'omble chevalier qui vous cause le problème:

<string name="basic_text1">המר על תוצאת המשחק\u200e:</string>

et le résultat sera:

 :המר על תוצאת המשחק
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top