升级到gradle插件3.0时的Lint错误:缺少layout_width或layout_height属性

时间:2017-10-28 14:10:13

标签: android android-lint

在更新到android gradle插件3.0的过程中,lint突然开始失败,因为在样式中定义了layout_widthlayout_height,而不是在父布局中。其中一个例子:

<Button
    android:id="@+id/btn_positive"
    style="@style/rounded_solid_button"
    android:textAppearance="@style/TextAppearance.ProximaRegularFont"
    android:textSize="@dimen/mini"
    android:text="Ok"/>

和我的styles.xml

<style name="rounded_solid_button">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_gravity">center_horizontal</item>
    <item name="android:gravity">center</item>
    <item name="android:textColor">@color/button_text_color</item>
    <item name="android:textStyle">normal</item>
    <item name="android:textAllCaps">false</item>
    <item name="android:background">@drawable/rounded_solid_button</item>
    <item name="android:layout_marginTop">20dp</item>
    <item name="android:textSize">@dimen/title</item>
    <item name="android:singleLine">true</item>
</style>

Lint在这里说不出来:

  

缺少必需的layout_width和layout_height属性

还有其他人遇到过这个问题吗?

2 个答案:

答案 0 :(得分:2)

刚检查过,它是lint中的一个问题,在AS的稳定版本中尚未修复: - /

https://issuetracker.google.com/issues/37138580

答案 1 :(得分:0)

清理并重建项目。 It should work,但如果它由于某种原因不再存在,则必须在view标记中而不是在styles.xml中声明它

或者,清理缓存并使缓存无效(假设您使用Android Studio / IntelliJ)也应该这样做