对“UselessParent”Lint检查感到困惑

时间:2012-05-02 22:37:51

标签: android android-layout android-lint

我有一些布局文件,Lint给了我以下警告:

  

UselessParent

     

摘要:检查是否可以删除父布局。

     

优先级:2/10严重性:警告类别:性能

     

包含没有兄弟姐妹的儿童的布局,不是滚动视图或a   根布局,并没有背景,可以删除和拥有   它的孩子们直接进入父母那里,享受更多的奉承   高效的布局层次结构。

我很困惑的部分是粗体。我的布局(在修复此警告之前)如下:

<?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作为布局文件的根元素没有问题,因为ScrollView还是从FrameLayout继承吗?

1 个答案:

答案 0 :(得分:2)

ScrollView作为布局文件的根元素没有问题。皮棉投诉大概是关于你的原始根LinearLayout,而这只是ScrollView作为一个孩子而没有增加任何价值。