android4.2(SDK版本為17)有一個新特性 layoutRtl,當然是對於開發者而言的,主要是方便開發者去支持阿拉伯語/波斯語等閱讀習慣是從右往左的。 可以在manifest的application標簽添加:android:supportsRtl 取值:true/false
這樣就可以打開layoutRtl這個功能。如果當前系統語言是阿拉伯語/波斯語,打開了這個功能的應用的布局就會自動變成從右往左的,當然前提是布局沒有寫死控件間的位置。 由於布局方向可以是從右到左的,所以在寫xml布局的時候,為了防止出現布局混亂的現象,不要使用諸如layout_marginRight這種,而應該是layout_marginEnd這種。
如果布局變成了從右往左的話,焦點的移動也會有一些變化。EditText有一個標簽是用來讓輸入法提供類似“next”的按鈕的:imeoptions=“actionNext”。你按“next”的時候會發現,本來應該往右/下移動的光標,變成往左/上移動。
======================================
問題描述:切換系統語言為阿拉伯文時,actionbar布局沒有變為從右向左排列。
於是,我在Androidmanifest.xml文件中的 application 標簽內加上 android:supportsRtl="true" 屬性,發現沒有起到效果。
原因在於 Androidmanifest.xml中對最小SDK版本和目標版本做了要求:
<uses-sdk android:minSdkVersion="11"
android:targetSdkVersion="11" />
而使用 android:supportsRtl="true"要求最低SDK版本為17,再將上面那兩句直接刪除或者是修改為>=17的版本即可。
注意:
由於布局方向可以是從右到左的,所以在寫xml布局的時候,為了防止出現布局混亂的現象,
不要使用諸如layout_marginRight這種,而應該是layout_marginEnd這種。