Android Studio应该以大多数情况下只会加剧Lint"使用左/右而不是开始/结束属性"警告。我使用的是Android Studio 0.8.9,但早期版本中也存在以下问题:如果您在代码中的任何位置添加此超小代码段
public enum BiteMeLint {
LEFT
}
Android Studio会显示警告
使用" Gravity.START"而不是" Gravity.LEFT"确保从右到左的语言环境中的正确行为。
这也适用于常数RIGHT,但它建议在这种情况下使用Gravity.END。现在我是一个开发人员,他喜欢通过遵守或者,如果不可能,通过压制和放置一个" todo"来保持他的代码完全清除任何警告。或" fixme"在必要时。在这里,因为我使用" LEFT"和#34;右边"作为实际方向的常数,警告显然是一个错误。可悲的是,添加
@SuppressLint("RtlHardcoded")
不会删除警告。那么如何删除这个警告的笑话呢?现在我问,我能不能完全禁用项目的RTL警告,我肯定永远不会从右到左的语言环境启动?
答案 0 :(得分:5)
根据this issue tracker,这是最近在Android Studio 0.8.10中修复的错误。
可以在Project Settings | Inspections | Android Lint | Unsing left/right instead of start/end attributes
下找到禁用此检查的选项。因此,您可以通过取消选中该框来简单地为整个项目禁用它。
答案 1 :(得分:2)
转到文件>设置>编辑器>检查> Android> Lint>国际化>双向文本。
然后取消选中使用左/右而不是开始/结束属性。
您可能不想实际禁用该警告。在那里是有原因的。阅读有关Android Studio的说明:
使用重力#LEFT 和Gravity#RIGHT会在布局中渲染时导致问题 文本从右向左流动的语言环境。使用Gravity#START和 重力#END。同样,在XML中,gravity和layout_gravity 属性,请使用start而不是left。
对于XML属性,例如 paddingLeft和layout_marginLeft,使用paddingStart和 layout_marginStart。注意:如果您的minSdkVersion小于17,则您 应该同时添加旧的left / right属性和新的 开始/正确属性。在不支持RTL的旧平台上 并且开始/右属性是未知的,因此被忽略,您 需要较旧的left / right属性。有单独的皮棉支票 捕获该类型的错误。
(注意:对于Gravity#LEFT和 Gravity#START,即使定位较旧的对象,也可以使用这些常量 平台,因为起始位掩码是左侧的超集 位掩码。因此,您可以使用gravity =“ start”,而不是 重力=“左|开始”。)
答案 2 :(得分:0)
在清单中,禁用 android:supportsRtl 属性将禁用整个模块的 Rtl lint 警告
android:supportsRtl="false"