【发布时间】:2018-02-12 09:57:16
【问题描述】:
问题:当在样式文件中定义 LinearLayout 的方向时,我收到一个 lint 错误和警告,但在直接在元素上定义方向时却没有。即使该属性是从样式文件中提取的。
我的所有活动都有一个基本样式,包含以下内容:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="StandardActivity">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">fill_parent</item>
<item name="android:orientation">vertical</item>
</style>
</resources>
在我的布局中,如果我添加此代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/StandardActivity">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical">
...
</LinearLayout>
...
</LinearLayout>
在 layout_width 上,我收到一个 lint 警告:
Use a 'layout_width' of '0dp' instead of 'fill_parent' for better performance
在 layout_height 上,我收到一个 lint 错误:
Suspicious size: this will make the view invisible, probably intended for 'layout_width'
一切都按预期工作,布局采用StandardActivity 中设置的orientation 属性。但是,错误和警告仅在方向设置为horizontal 时有效。如何让 Android Studio 中的 lint 了解样式文件中设置的方向?
如果直接将方向显式添加到 LinearLayout,则 linting 错误和警告会消失。
【问题讨论】:
标签: android android-studio android-linearlayout android-lint