此LinearLayout布局或其RelativeLayout父级是无用的;将background属性传递给其他视图警告

时间:2014-06-03 03:14:02

标签: android android-layout

不确定我做错了什么,在LinearLayout里面没有复杂的2个按钮,我得到了 "此LinearLayout布局或其RelativeLayout父布局无用;将背景属性转移到另一个视图"警告....这里是代码,令人难以置信

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@drawable/GCBS_Template_BKGND"
tools:context=".MainActivity" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <Button
        android:id="@+id/Partfinder"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Part Finder" />

    <Button
        android:id="@+id/Heaterfinder"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Heater Finder" />
</LinearLayout>

3 个答案:

答案 0 :(得分:0)

如果您只是想垂直显示两个按钮 - 在这种情况下,不需要使用LinearLayout。这会增加您的视图级别层次结构 - 这就是显示警告的原因。

你可以简单地使用android:layout_below =&#34; @ + id / Partfinder&#34;到你的第二个按钮,以实现你想要的。

答案 1 :(得分:0)

在Eclipse Juno中,您可以使用Project的属性 - &gt; Android Lint偏好设置。现在,查找UselessParent并将其严重性设置为忽略或单击全部忽略。 但最后,你的问题是你的RelativeLayout只有一个孩子。你可以删除它:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:background="@drawable/GCBS_Template_BKGND"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/Partfinder"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Part Finder" />

    <Button
        android:id="@+id/Heaterfinder"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Heater Finder" />
</LinearLayout>

答案 2 :(得分:0)

根据您的xml布局创建,警告非常清晰。只需添加2个按钮,您可能不需要相关和按钮。线性布局但只有一个布局绰绰有余。因此,通过删除XML中的线性布局应该可以帮助您进一步继续,如下所示。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@drawable/GCBS_Template_BKGND"
tools:context=".MainActivity" >

    <Button
        android:id="@+id/Partfinder"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Part Finder" />

    <Button
        android:id="@+id/Heaterfinder"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Heater Finder" />
</RelativeLayout>

在此之后,只需将按钮拖放到xml的布局视图中,然后将它们放在您想要按钮的任何位置。这应该将XML脚本自动放入XML文件中。