该项目引用RTL属性,但不明确启用或禁用RTL支持

在Eclipse清单文件中,我收到一条警告消息。 应用程序的语言是土耳其语(不是左到右)。

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

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

谢谢

Solutions Collecting From Web of "该项目引用RTL属性,但不明确启用或禁用RTL支持"

如果您不支持RTL(= Right To Left语言环境),则需要在xml布局中将所有以left 开头right right 结尾的引用replace。

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

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

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

否则意味着“左”。

因此,如果您在任何布局中使用了android:layout_gravity =“start”或任何开始/结束属性,并且尚未在清单中设置android:supportsRtl =“true”则会发出此警告。

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

  • 如果你replace开始左边你会得到的警告: 使用“开始”而不是“左”,以确保正确的行为,在从右到左的语言环境 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