Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio enum左-右错误?如何为整个项目禁用RTL警告?_Android_Android Studio - Fatal编程技术网

Android Studio enum左-右错误?如何为整个项目禁用RTL警告?

Android Studio enum左-右错误?如何为整个项目禁用RTL警告?,android,android-studio,Android,Android Studio,Android Studio应该为那些在大多数情况下只是加重Lint“使用左/右而不是开始/结束属性”警告的人所熟知。我使用的是AndroidStudio 0.8.9,但在早期版本中也存在以下问题:如果您在代码中的任何地方添加这个超小的代码片段 public enum BiteMeLint { LEFT } Android Studio显示了警告 使用“Gravity.START”而不是“Gravity.LEFT”,以确保在从右到左的区域设置中行为正确 这种情况也发生在常数右边,不过它

Android Studio应该为那些在大多数情况下只是加重Lint“使用左/右而不是开始/结束属性”警告的人所熟知。我使用的是AndroidStudio 0.8.9,但在早期版本中也存在以下问题:如果您在代码中的任何地方添加这个超小的代码片段

public enum BiteMeLint {
    LEFT
}
Android Studio显示了警告

使用“Gravity.START”而不是“Gravity.LEFT”,以确保在从右到左的区域设置中行为正确

这种情况也发生在常数右边,不过它建议在这种情况下使用重力.END。现在我是一名开发人员,喜欢让他的代码完全没有任何警告,要么遵守,要么,如果不可能的话,在必要的地方抑制并放置“todo”或“fixme”。在这里,因为我使用“左”和“右”作为实际方向的常量,所以警告显然是一个bug。遗憾的是,补充说

@SuppressLint("RtlHardcoded")
不会删除警告。那么,我该如何消除这个警告的玩笑呢?现在我在问,我能不能完全禁用RTL警告,因为我确信这个项目永远不会在从右到左的语言环境中启动?

据我所知,这是一个最近在Android Studio 0.8.10中修复的错误

禁用此检查的选项可以在
项目设置|检查| Android Lint |取消左/右键而不是开始/结束属性下找到
。因此,您只需取消选中该框即可在整个项目中禁用它。

Android Studio 3 进入文件>设置>编辑器>检查>安卓>林特>国际化>双向文本

然后取消选中使用左/右而不是开始/结束属性

但是 您可能不希望实际禁用该警告。这是有原因的。请阅读Android Studio的描述:

使用重力#左 而重力#RIGHT在渲染布局时可能会导致问题 文本从右向左流动的区域设置。使用重力#启动和关闭 重力反而结束了。类似地,在XML重力和布局重力中 属性,使用“开始”而不是“离开”

对于XML属性,例如 paddingLeft和layout_marginLeft,使用paddingStart和 玛格丽塔特的布局图。注意:如果您的MinSDK版本小于17,则 应添加旧的左/右属性以及新属性 开始/右侧属性。在不支持RTL的旧平台上 并且“开始/右侧”属性未知,因此被忽略 需要旧的左/右属性。有一个单独的线头检查 它捕捉到这种类型的错误

(注:对于重力#左侧和右侧) 重力#开始,您可以使用这些常量,即使是针对较旧的 平台,因为起始位掩码是左侧的超集 因此,您可以使用gravity=“start”而不是 重力=“左|开始”。)


在清单中,禁用android:supportsRtl属性将禁用整个模块的Rtl lint警告

      android:supportsRtl="false"

真正地现在修好了?这意味着等待下一个测试版将解决这个问题,谢谢。但是,你知道如何禁用特定项目的RTL警告吗?