我有一些布局文件,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继承吗?
答案 0 :(得分:2)
将ScrollView
作为布局文件的根元素没有问题。皮棉投诉大概是关于你的原始根LinearLayout
,而这只是ScrollView
作为一个孩子而没有增加任何价值。