这是我第一次使用RTL语言(希伯来语)开发应用程序。我已经用逆转角色挣扎了两天。
My String XML:
<resources>
<string name="app_name">SomeApp</string>
<string name="hello_world">מה המצב?</string>
<string name="action_settings">Settings</string>
</resources>
使用字符串hello_world
我想创建一个将使用此字符串的textView。结果应该是:
?מההמצב
然而,模拟器显示:
正如您所看到的,它不仅会改变句子和问号的顺序。它也改变了字母的顺序。
到目前为止我尝试过的事情:
\u200F
。\u200e
,"
,,
,.
,?
等每个特殊字符后使用!
。当我写信时没有特别字符的希伯来语一切正常。activity_my.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MyActivity"
android:id="@+id/StudentLife">
<TextView android:text="@string/hello_world" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
我已经四处寻找但没有任何作用,也许我错过了一些东西。
答案 0 :(得分:2)
屏幕截图不是模拟器,而是Android Studio的可视化布局管理器。这似乎是布局管理器中的一个奇怪的错误,但它不会影响应用程序 - 无论是在模拟器上还是在真实设备上。
你是对的,Android 4.2之前的RTL支持没有标准化,有些设备可能以奇怪的方式执行。但即使是2.3.3的模拟器也没有为我恢复希伯来字母。
好吧,它没有在左侧放置 a != b
,您需要附加?
来解决这个问题。但是对于4.2及更高版本,您可以指定\u200F
而不是标记。