如何修复Android警告 - FrameLayout布局或其LinearLayout父级是没用的

时间:2014-07-26 09:17:48

标签: android layout warnings

我的Android项目中有一个特定视图的警告。 这是什么意思?如何解决?

第10行警告:" FrameLayout"

此FrameLayout布局或其LinearLayout父级无用;将background属性传递给另一个视图 Android Lint问题

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:id="@+id/stepLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/paper"
    android:orientation="vertical" >

    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <ImageView
            android:id="@+id/example_image"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:contentDescription="@string/descExample" />

        <ImageButton
            android:id="@+id/buttonNext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right|bottom"
            android:layout_margin="5dip"
            android:background="@android:color/transparent"
            android:contentDescription="@string/descButtonNext"
            android:padding="5dip"
            android:src="@drawable/nav_next_40"
            android:text="@string/buttonNext" />

        <ImageButton
            android:id="@+id/buttonPrevious"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left|bottom"
            android:layout_margin="5dip"
            android:background="@android:color/transparent"
            android:contentDescription="@string/descButtonPrevious"
            android:padding="5dip"
            android:src="@drawable/nav_previous_40"
            android:text="@string/buttonPrevious" />

        <ImageButton
            android:id="@+id/buttonHome"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center|bottom"
            android:layout_margin="5dip"
            android:background="@android:color/transparent"
            android:contentDescription="@string/descButtonHome"
            android:padding="5dip"
            android:src="@drawable/nav_home_40"
            android:text="@string/buttonHome" />

        <ImageButton
            android:id="@+id/buttonShare"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right|bottom"
            android:layout_margin="5dip"
            android:background="@android:color/transparent"
            android:contentDescription="@string/descButtonShare"
            android:padding="5dip"
            android:src="@drawable/nav_share_40"
            android:text="@string/buttonShare" />
    </FrameLayout>

</LinearLayout>

2 个答案:

答案 0 :(得分:2)

真的需要LinearLayout吗?

如果不只是将android:background,xmlns:android和android:id移动到FrameLayout并删除LinearLayout及其结束标记。此外,从您的代码中看,您似乎没有在代码中使用xmlns:ads,因此您也可以删除该行。

保持简单。

答案 1 :(得分:1)

这只是一个警告。如果您绝对需要这两个布局,那么您可以忽略该警告。但是,不要忽略警告并删除不需要的布局是一个好习惯。此警告会妨碍您的应用的性能。请查看此SO post以获取更多信息。