2013-02-06 24 views
4

我有一個線性佈局,其中包含一個textView和EditText水平排列。我有一個選擇語言在先前的活動(英語和阿拉伯語)。當我選擇英語當前對齊是好的,但是當我選擇阿拉伯語時,它應該顯示從右到左,這意味着在editText之後textView位置應該向右(在佈局中它將從左開始)。根據語言選擇對齊textview(LEFT-RIGHT)

<?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> 

有人請給我的解決方案...

+0

嘗試安卓textDirection = 「區域設置」 –

回答

1

您可以指定一個佈局特定於語言,通過佈置一個佈局的適當的佈局文件夾內。我不知道代碼是用於阿拉伯語的,但它應該是類似於/layout-aa/

但是,今天好得多的是使用相對佈局,其中您使用的是android:gravity="start"或類似的,根據語言對齊它方向而不是嚴格的左/右。這在API版本14及以上版本中可用。

+0

讓我以這種方式檢查..感謝的人.. – Kris

+0

Actully我不會根據設備的區域更改。我有兩個選項英語和阿拉伯語。如果它是在en語言環境也當我選擇阿拉伯語我必須改變對齊方式 – Kris

2

如果你想在文本視圖中同時使用阿拉伯語和英語,首先你應該把它的佈局:gravity =「start」 這有助於你如果你有一個英語句子,它開始左手邊和阿拉伯語右手開始判決。 如果你想it'a組合,你必須使用類似這樣的 阿拉伯語字符串+ \ u200e \ u202a英文字符串+ \ u202c +阿拉伯語串

,並反向:

我的英語字符串+ 「\ u202B」 + myArabicString + 「\ u202C」 + moreEnglish

0

可以使用Android:在TextView中layout_alignParentRight = 「真」