2011-06-28 53 views
12

下面的截圖顯示了我的問題。使用阿拉伯字體時出現文字對齊問題

第一個EditText顯示向上移動的阿拉伯語提示,現在第二個EditText僅供參考,其中顯示英文版完全正確。 Button也是如此。

我已經宣佈在字符串中strings.xml這樣的:

<string name="ar_login">دخول</string> 

screenshot of the problem

我這是怎麼設置的EditText的提示:

UserName.setTypeface(ArabicFont); 
String hint = getString(R.string.ar_HintUserName); 
.... 
UserName.setHint(hint); 

UPDATE: 我用這個,但沒用:

UserName.setGravity(Gravity.CENTER_VERTICAL); 

但是,隨着文本的移動,但我想它不是通用的:

UserName.setPadding(0,15,0,0); 

隨着PaddingEnglish字移動到下方。

更新2: 最初阿拉伯文文本是分開的;意味着他們逐字逐句顯示。所以加入他們,我使用這個Arabic Reshaper。將代碼下載,選中此link

現在,當我重塑了阿拉伯文字,然後TextViewEditText's提示設置,它得到了upwords轉移,但沒有重塑它是好的。

所以我想,是否我必須改變重塑類或使我的textview不分裂這個詞。但不知道要去哪裏?

+0

這看起來像一個android問題。你有沒有嘗試使用'gravity'屬性? – Macarse

+0

我認爲這是語言(阿拉伯語,英語)相關的問題。使用padding_top來管理它。 –

+0

隨着padding_Top,我有兩個問題:第一它不會是通用的,第二我必須改變填充回原來的英文。 – Farhan

回答

3

了字體文件,我仍無法找出爲什麼Android的分裂無論如何在我的第二個編輯我提供阿拉伯文寫着成單獨的字母一個鏈接,它使用一個類來重新加入分離的字母並再次形成一個單詞。

reshape函數中,最後錯誤地附加了\n,只是刪除它就解決了問題。

+0

我該如何刪除它? –

+0

你不知道「backspace」??的功效??:P – Farhan

0

只是猜測:) ...,

  1. 如果阿拉伯字體的大小是什麼降低? [如果是這樣的話,那麼應該Gravity.CENTER_VERTICAL已經爲你:(]

  2. 可能這是字體文件的樣式。如何試圖爲阿拉伯文字不同的字體文件?

+0

我欣賞,但它不工作。 1.字體大小不是問題,但我仍然檢查與重力的事情;相同的結果。 2.選中不同的字體文件;同樣的結果.. :( – Farhan

1

我相信它的問題與您正在使用的字體文件。!

[對不起我不允許上傳的截屏作爲我的聲譽較低:(]

對於佈局,我在xml中設置文本,在代碼中設置字體,而我沒有設置g任何屬性,如填充/重力。但它對我來說工作得很好。

所以,我可以向你保證,使用其風格符合你的要求的字體文件將解決你的問題。

只是爲了幫你出,但不敢肯定我從DroidSansFallback.ttf

+0

)附加文件的結果是一樣的,你可以把我使用的文件發送到我的個人資料中的電子郵件地址嗎?我真的無法解決,我用另一個字體文件測試,但結果相同。 – Farhan