如果您不支持RTL(=从左到左的区域设置),则需要在xml布局中将所有引用的起始位置替换为左侧和右侧.

属性“开始”,“结束”,“paddingStart”,“paddingEnd”,“android:layout_alignParentStart”等属于“RTL属性”:它们的含义取决于当前的区域设置.没有这样做的风险是,如果有人将系统语言设置为阿拉伯语或希伯来语,则您的布局将被镜像,即使文本仍显示在土耳其语中.

具体来说,“开始”是指“正确”,如果:

>目前的系统语言是RTL(阿拉伯语,希伯来语…)

>而Android设备是API 17或更高版本

> AND android:supportsRtl在清单中设置为true

否则是“左”.

所以,如果您在任何布局中使用了android:layout_gravity =“start”或任何开始/结束属性,并且您没有在清单中设置android:supportsRtl =“true”,则会得到此警告.

请注意,如果您的最小SDK为16或更低版本,并且您不想支持RTL,则实际上必须选择其中一个警告:

>如果你用左边替换开始,你会得到警告:使用“开始”而不是“左”来确保从右到左的区域设置的正确行为Id = RtlHardCoded

>如果你设置android:supportsRtl为false:属性“supportsRtl”仅用于API级别17以上(当前最小为9). ID = UnusedAttribute

>否则:**该项目引用RTL属性,但不显式启用或禁用RTL支持与android:supportsRtl在清单** Id = RtlEnabled

如果您不支持RTL,将RtlHardCoded设置为Info而不是警告似乎是合乎逻辑的.

更多信息:

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐