Android 一个supportsRtl属性 RTl是什么东东?
Android Studio新建工程的AndroidManifest文件里會有一個supportsRtl屬性,并且默認是true,那這個屬性到底有什么用呢,顧名思義就是“支持RTL”,
帶著這個問題去翻了翻Android官網的文檔
這是官網對android:supportsRtl的解釋,
官網原文鏈接:http://developer.android.com/intl/zh-cn/guide/topics/manifest/application-element.html
android:supportsRtl
Declares whether your application is willing to support right-to-left (RTL) layouts.
If set to true and targetSdkVersion is set to 17 or higher, various RTL APIs will be activated and used by the system so your app can display RTL layouts. If set to false or if targetSdkVersion is set to 16 or lower, the RTL APIs will be ignored or will have no effect and your app will behave the same regardless of the layout direction ass ociated to the user's Locale choice (your layouts will always be left-to-right).
The default value of this attribute is false.
This attribute was added in API level 17.
聲明你的application是否愿意支持從右到左(原來RTL就是right-to-left 的縮寫...)的布局。
如果設置為true,targetSdkVersion設置為17或更高,各種RTL的API將被激活,系統使用您的應用程序可以顯示RTL布局。如果targetSdkVersion設置為16或更低的設置為false,RTL的API將被忽略或沒有影響您的應用程序將具有相同的行為無論對用戶現場的選擇相關的布局方向(你的布局會從左至右)。
此屬性的默認值是false。
此屬性被添加到API 17。
最后一句也說了,這個api是17(也就是Android4.2)以后才有的,并且這個屬性默認是false,17以前的api不支持這個屬性。
那這個支持從右到左的布局到底是個什么鬼呢。
經常玩機的朋友應該有發現,在設置-開發人員選項,有一個強制使用從右到左的布局方向,如圖
既然有這么個東西,那就打開看看
打開之后變成這樣了,原先在左邊的文字被放到右邊去了,在右邊的開關,也被放到左邊了,看到這個就明白了這個屬性的意思了吧
為了證明這個屬性,再弄個demo試試
當android:supportsRtl為false的時候,即使手機開啟了強制從右到左,app的布局也不會改變,如圖
當android:supportsRtl為true的時候,并且手機也開啟了強制從右到左的開關,那么布局就會從右到左來排列了,如圖
總結
以上是生活随笔為你收集整理的Android 一个supportsRtl属性 RTl是什么东东?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AndroidStudio导入新项目一直
- 下一篇: Android中CardView的简单使