android布局创建问题

时间:2012-01-03 11:51:23

标签: java android android-layout

是Android开发的新手。我创建了一个Android应用程序,以下是我的main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/RelativeLayout01" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
android:background="@drawable/bg"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:id="@+id/grid_layout_1"
    android:layout_centerInParent="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >
    <Button android:id="@+id/btnLogin" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:text="@string/login_btn_text"/>
    <Button android:id="@+id/btnRegister" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:text="@string/reg_btn_text"/>

</LinearLayout>
</RelativeLayout>

我收到以下警告:

This LinearLayout layout or its RelativeLayout parent is possibly useless;
transfer the background attribute to the other view

任何人都可以说出这个警告的原因并解决问题。?

4 个答案:

答案 0 :(得分:6)

在RelativeLayout中只有一个LinearLayout没有实际用途。因此,其中一个是无用的,因为这是多余的。

修改

当布局只有一个也是布局的子项时,会触发此警告。在这种情况下,可以毫无问题地移除其中一个。建议删除这些冗余布局,因为它们会降低UI的整体性能。

答案 1 :(得分:2)

正如我刚刚发现的那样,你的问题的答案是禁用新的Lint“帮助”。我想这对刚开始使用Android的人有帮助,但对于那些知道自己在做什么的人来说,这只是一件麻烦事。例如,你的“无用”嵌套线性布局很可能是填充布局中的一个按钮,可能正在等待某些其他元素在运行时(或其他十亿个完全有效的东西)填充。

在您的偏好设置中,在android / lint下,只需禁用警告,您就不会再看到这些警告了。

答案 2 :(得分:1)

转到

Window -> Preferences -> Android -> Lint Error Checking

滚动并找到"UselessParent"选项。将severity选项更改为Ignore

答案 3 :(得分:0)

在设计我的第一个Android应用时,我收到了此消息。我输入的内容与书中所说的“T”完全相同,并多次检查所有内容。

我的猜测这与该书可能已经过时有关,但它只有一年了。

我认为写这本书的人会知道他们在做什么。它是“完整的白痴指南Android应用程序开发”2011。

我知道lint选项但使用它的原因是什么,即使它没用?