1

我有一些布局文件,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 作为布局文件的根元素没有问题

4

1 回答 1

2

ScrollView布局文件的根元素没有问题。lint 投诉大概是关于你原来的 root ,它并没有为小时候LinearLayout增加任何价值。ScrollView

于 2012-05-02T22:53:52.157 回答