android – 项目引用RTL属性,但没有显式启用或禁用RTL支持

参见英文答案 > What is use of android:supportsRtl=“true” in AndroidManifest xml file                                    3个
在Eclipse清单文件中,我收到一条警告消息.申请语言为土耳其语(不是从左到右).

“该项目引用了RTL属性,但未明确启用或禁用对清单中的android:supportsRtl的RTL支持”

我无法添加android:supportsRtl行,因为我的min sdk versionn是9.
这个警告很重要吗?

谢谢

解决方法:

如果您不支持RTL(=从右到左语言环境),则需要在xml布局中替换左侧和右侧的所有引用.

属性“start”,“end”,“paddingStart”,“paddingEnd”,“android:layout_alignParentStart”等等都是“RTL属性”:它们的含义取决于当前的语言环境.不这样做的风险是,如果有人将他们的系统语言设置为阿拉伯语或希伯来语,即使文本仍以土耳其语显示,您的布局也会被镜像.

具体而言,“开始”意味着“正确”,如果:

>目前的系统语言是RTL(阿拉伯语,希伯来语…)
>和Android设备是API 17或更高版本
> AND android:supportsRtl在清单中设置为true

否则意味着“离开”.

因此,如果您在任何布局中使用了android:layout_gravity =“start”或任何start / end属性,并且未在清单中设置android:supportsRtl =“true”,则会收到此警告.

请注意,如果您的min SDK为16或更低,并且您不想支持RTL,则实际上您必须选择以下警告之一:

>如果你用left替换start,你将收到警告:使用“start”而不是“left”来确保从右到左语言环境中的正确行为Id = RtlHardCoded
>如果将android:supportsRtl设置为false:属性“supportsRtl”仅用于API级别17及更高级别(当前最小值为9). ID = UnusedAttribute
>否则:**项目引用RTL属性,但没有在清单中明确启用或禁用android:supportsRtl的RTL支持** Id = RtlEnabled

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

更多信息:

http://android-developers.blogspot.co.il/2013/03/native-rtl-support-in-android-42.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+blogspot/hsDu+(Android+Developers+Blog)

http://developer.android.com/guide/topics/manifest/application-element.html#supportsrtl

上一篇:脚本运行正常,但抛出警告ResourceWarning: unclosed


下一篇:
android-禁用Lint警告“视图名称表明这是一个数字,但不包含数字inputType”