【发布时间】:2017-10-30 16:24:18
【问题描述】:
在更新到 android gradle 插件 3.0 的过程中,lint 突然开始在样式中定义 layout_width 和 layout_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 属性
还有其他人遇到过这个问题吗?
【问题讨论】:
-
无法重现您的问题,但我记得过去看到过有关此问题的误报。 Lint 作为“Android SDK 工具”包的一部分提供,请确保它在您的 CI 盒上是最新的。
-
实际上也可以在本地机器上复制它。想知道检查是否已使用新的 gradle 插件添加/制作错误。
-
tools:ignore="RequiredSize"是我当时用来抑制那些误报的方法。 -
投反对票的人,你至少应该解释一下原因!正如我在其中一个答案中提到的,这是我今天了解的 lint 中的一个错误。我认真地认为,不应该像现在给予的那样轻易给予否决权。那里有许多不负责任的人,他们在否决任何事情之前都没有三思而后行,甚至不关心向 OP 解释他们为什么这样做!
标签: android android-lint