2
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ff000000"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="80.0dip"
            android:orientation="vertical" >

            <HorizontalScrollView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:paddingBottom="1.0dip"
                android:paddingTop="1.0dip"
                android:scrollbars="none" >

                <include layout="@layout/quickactions_buttons_part" />
            </HorizontalScrollView>
        </LinearLayout>

但我收到了这个警告

This LinearLayout layout or its FrameLayout parent is useless; transfer the background attribute to the other view

This HorizontalScrollView layout or its LinearLayout parent is useless

有谁知道我该怎么做才能让这条消息消失?

4

2 回答 2

5

您有一个单独的组件(行)垂直线性布局,其中包含另一个线性布局。这没有任何意义,因为布局是多个组件的容器。如果只有一个组件,那么这样的容器是多余的,可以直接被它所拥有的单个组件替换。

同样,第二个LinearLayout也没有任何意义,只保留一个组件,HorizontalScrollView. 唯一重要的是现在需要在组件上指定“80.0dip”属性。

因此,您的布局是不必要的复杂。的内容FrameLayout可以更简单地重写为

<HorizontalScrollView
   android:layout_width="fill_parent"
   android:layout_height="80.0dip"
   android:paddingBottom="1.0dip"
   android:paddingTop="1.0dip"
   android:scrollbars="none" >
   <include layout="@layout/quickactions_buttons_part" />
</HorizontalScrollView>

生成的代码运行速度更快,更容易理解。

于 2013-01-30T13:52:05.830 回答
0

我认为这是由于 FrameLayout、1st LinerLayout 和 2nd LinearLayout 没有解决任何目的,而您在 Horizo​​ntalScrollView 中拥有一切。

于 2013-01-30T13:51:32.663 回答