我面对嵌套布局问题并抛出一些异常。错误是“此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>
谢谢大家。
答案 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"