我正在从字符串资源中设置文本文本。通常,希伯来语以左至右的格式工作。当我设置文本时,它将在LG,Samsung,Sony Phone中设置文本,但在HTC中不起作用。它在HTC中以从左到右的格式工作。甚至我将重力设置为Java文件中的TextView。

文本视图中的文本应根据屏幕大小为跨度。例如,如果它是320 x 480,则它以4行显示,但是如果是星系选项卡,则可能有2行。

这是我的代码段:

在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);

在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" />

在字符串资源中:

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

我的代码怎么了?

任何使用另一种语言的人,请在这里引导我。

谢谢。

有帮助吗?

解决方案

重力只会影响对齐,不会为文本设定基本方向。它可以在某些设备上工作,而其他设备可能是字体问题,或者可能是OS版本问题。尝试在文本开始时添加左右标记字符( u200f)。这可能有助于在HTC上显示显示,并且不会在已经正常工作的设备上伤害任何东西。

其他提示

这是我的希伯来语字符串XML的一个示例,这要归功于泰德·霍普(Ted Hopp)的答案:

您需要在引起您问题的字符之前添加“ u200e”:

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

结果将是:

 :המר על תוצאת המשחק
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top