Android ';布局高度';属性应该被定义

Android ';布局高度';属性应该被定义,android,android-studio,android-lint,Android,Android Studio,Android Lint,我得到恼人的“'layout\u height'属性应该被定义”lint错误。 尽管我在自己的风格中对其进行了定义: <?xml version="1.0" encoding="utf-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="AppTheme" parent="@android:style/Theme.Light.NoTitleB

我得到恼人的“'layout\u height'属性应该被定义”lint错误。 尽管我在自己的风格中对其进行了定义:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppTheme" parent="@android:style/Theme.Light.NoTitleBar.Fullscreen">
    <item name="android:editTextStyle">@style/EditTextAppTheme</item>
    <item name="android:buttonStyle">@style/ButtonAppTheme</item>
    <item name="android:imageButtonStyle">@style/ImageButtonAppTheme</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
</style>

@样式/编辑文本应用主题
@风格/主题
@样式/图像主题
包装内容
包装内容
因此,我尝试关闭此皮棉规则,但没有成功:

我怎样才能解决这种恼人的行为?或者我可以关闭皮棉规则吗


非常感谢

您不应该在应用程序主题中定义布局高度或布局宽度。这些需要放在每个布局xml文件中。事实上,所有以“layout”开头的属性都不应该出现在任何主题或样式文档中,它们应该保留在相应的布局文件中(例如layout_marginTop或layout_gravity)。这可能就是为什么会出现lint错误的原因。

我在为Card View创建新的XML布局时遇到了相同的错误。 即使给了它
layout\u height
属性,它也会给我同样的错误。 复制后我清除了所有代码并粘贴回以前的代码,但这次没有错误日志

刚才发生了什么


可能是XML代码没有同步,所以它一直显示错误。

这可能会帮助您不幸的是,这是Eclipse,我使用的是Android Studiothats cool,然后检查这一点……我认为:1)这是允许的,2)默认情况下,将layout_height和layout_width设置为wrap_content可显著降低XML的冗余度。layout属性不应包含在样式或主题中,因为它们可能根据布局的不同而不同。例如,当相对布局需要布局中心水平以使视图水平居中时,线性布局需要布局重心。它们上面有布局前缀是有原因的,所以您知道不要在样式中使用它们。我会想象你得到了你的错误,因为你有一个没有布局宽度和布局高度的视图,因为你认为你不需要它们。没错。我不想设计这种东西。我所做的(并且已经做了很多年)是在主题中指定默认值。因此,可以保存XML中的许多行。但我想你的观点是正确的,是什么让它被皮棉抓住了。但是我该如何关闭它呢?只是有同样的问题;为任何未来的读者;我错过了安卓:在布局和高度之前。