76、android:supportsRtl 和 android:layout_marginEnd


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這種。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM