5

我有一个线性布局,其中包含水平排列的 textView 和 EditText。我有一个选项可以在以前的活动中选择语言(英语和阿拉伯语)。当我选择英语时,当前对齐很好,但是当我选择阿拉伯语时,它应该从右到左显示,这意味着 textView 位置应该向右(在布局中它将从左开始),然后是 editText。

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

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<EditText
android:id="@+id/editusername"
android:layout_width="196dp"
android:layout_height="wrap_content"
android:background="@drawable/textfield_default"
android:ems="10" >

</EditText>

<TextView
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

/>

</LinearLayout>

</LinearLayout>

任何人请给我解决方案...

4

3 回答 3

3

您可以通过将布局放置在适当的布局文件夹中来指定特定于语言的布局。我不知道阿拉伯语的代码是什么,但应该类似于/layout-aa/

然而,今天更好的是使用相对布局,您使用android:gravity="start"或类似的位置,根据语言方向而不是严格的左/右对齐它。这适用于 API 版本 14 及更高版本。

于 2013-02-06T12:04:37.277 回答
2

如果你想在文本视图中同时使用阿拉伯语和英语,首先你应该把它的布局:重力=“开始”如果你有一个英语句子它从左手边开始,阿拉伯语从右手边开始,这对你有帮助边。如果你想要它的组合,你必须像这样使用阿拉伯字符串 + \u200e\u202a 英文字符串 + \u202c + 阿拉伯字符串

反过来:

myEnglish String + "\u202B" + myArabicString + "\u202C" + moreEnglish

于 2016-02-20T11:44:10.637 回答
0

您可以在 textview 中使用 android:layout_alignParentRight="true"

于 2018-02-14T11:39:14.733 回答