LinearLayout或其LinearLayout父级是无用的,我可以忽略警告消息吗?

时间:2012-07-18 08:45:19

标签: android android-layout layout android-linearlayout android-lint

我面对嵌套布局问题并抛出一些异常。错误是“此LinearLayout布局或其LinearLayout父级无用......”。我知道我可以通过此设置忽略此警告。

环境: 构建路径 - >配置构建路径....在Android Lint首选项下查找UselessParent并将其严重性设置为忽略或单击忽略全部。

但是,Eclipse图形布局无法显示任何内容并显示错误消息 - “索引:0,大小0,窗口中记录了异常详细信息>显示视图>错误日志”。

如何使图形布局显示嵌套布局?

这是我的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:background="@drawable/menu_bg2"
        android:orientation="vertical" >

        <ImageButton
            android:id="@+id/imageButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="@string/menu_item1"
            android:src="@drawable/alarm2x" />

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="@string/menu_item2"
            android:src="@drawable/bank2x" />

        <ImageButton
            android:id="@+id/imageButton3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="@string/menu_item3"
            android:src="@drawable/brief_case2x" />

        <ImageButton
            android:id="@+id/imageButton4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="@string/menu_item4"
            android:src="@drawable/trolley2x" />

        <ImageButton
            android:id="@+id/imageButton5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="@string/menu_item5"
            android:src="@drawable/calculator2x" />

    </LinearLayout>
</LinearLayout>

谢谢大家。

6 个答案:

答案 0 :(得分:3)

因为在第一个LinearLayout中,只有一个视图,它是一个LinearLayout。

以下是图示的结构:

LinearLayout
    LinearLayout
        ImageButton
        ImageButton
        ImageButton
        ImageButton
        ImageButton
    // You should add another View or ViewGroup for the first LinearLayout

LinearLayout是ViewGroup的子类,用于对一些视图进行分组,至少为2(CMIIW)。

所以,发出了警告,因为它假设您的第一个LinearLayout没有任何要分组的内容,或者如果省略它就没关系。

很抱歉,如果我的英文说明不好。

答案 1 :(得分:1)

你有两个LinearLayout,其中一个是无用的,直到现在。此警告建议您删除其中一个。像这样:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/LinearLayout1"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:background="@drawable/menu_bg2"
          android:orientation="vertical" >

     <!-- your other ImageView etc.-->
</LinearLayout>

答案 2 :(得分:1)

您可以将其添加到父级LinearLayout:

php artisan config:clear

php artisan cache:clear

sudo service apache2 restart

默认情况下,如果这些警告没有用,Android Studio会显示这些警告。 tools:ignore="UselessParent" 阻止此警告显示。

答案 3 :(得分:0)

你可以尝试

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/menu_bg2"
    android:orientation="vertical" >

但是我从不相信Eclipse中的图形布局。

编辑:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

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

答案 4 :(得分:0)

您已打开2个linearlayout,但只有1个linearlayout关闭。

然而,第二个linearlayout没有任何意义,因为你将一个盒子放在一个盒子里,然后在第二个盒子中插入物品。

答案 5 :(得分:0)

也许可以帮到你:

android:layout_alignWithParentIfMissing ="true"