是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
任何人都可以说出这个警告的原因并解决问题。?
答案 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选项但使用它的原因是什么,即使它没用?