我有一些布局文件,Lint 给了我以下警告:
无用的父母
摘要:检查是否可以删除父布局。
优先级:2 / 10 严重性:警告类别:性能
没有兄弟的子布局,不是滚动视图或根布局,并且没有背景,可以删除并将其子级直接移动到父级中,以获得更平坦和更有效的布局层次结构。
我感到困惑的部分是粗体。我的布局(在修复此警告之前)如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/default_margin"
android:paddingTop="@dimen/default_margin_small"
android:paddingBottom="@dimen/default_margin_small">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingRight="@dimen/default_margin"
android:orientation="vertical">
<!-- TEXTVIEWS & EDITTEXTS HERE -->
</LinearLayout>
</ScrollView>
</LinearLayout>
但我修复了这样的警告:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/default_margin"
android:paddingTop="@dimen/default_margin_small"
android:paddingBottom="@dimen/default_margin_small">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingRight="@dimen/default_margin"
android:orientation="vertical">
<!-- TEXTVIEWS & EDITTEXTS HERE -->
</LinearLayout>
</ScrollView>
这对我来说很有意义,但是 Lint 检查中上面的粗体部分让我有点困惑,因为我在 LinearLayout 中有一个 ScrollView。我不应该像这样修复它,还是因为 ScrollView 从 FrameLayout 继承而将 ScrollView 作为布局文件的根元素没有问题?