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

別の線形レイアウトを含む単一のコンポーネント(行)の垂直線形レイアウトがあります。レイアウトは複数のコンポーネントのコンテナであるため、これは意味がありません。コンポーネントが1つしかない場合、そのようなコンテナは冗長であり、保持している単一のコンポーネントに直接置き換えることができます。

同様に、2番目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 に答える