android supportsRtl属性

Android Studio新建工程的AndroidManifest文件里会有一个supportsRtl属性,并且默认是true,那这个属性到底有什么用呢,顾名思义就是“支持RTL”,那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的时候,并且手机也开启了强制从右到左的开关,那么布局就会从右到左来排列了,如图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值