Android LinearLayout或RelativeLayout父级是没用的?

时间:2013-09-06 16:44:28

标签: android android-layout

在我的Android应用中,我有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:background="@drawable/bg_main"
    tools:context=".ActivityHome" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/button_exit"
            style="@style/footer"
            android:background="@drawable/bg_footer"
            android:onClick="CloseActivity"
            android:text="@+string/exit" />

        <Button
            android:id="@+id/button_register"
            style="@style/footer"
            android:background="@drawable/bg_footer"
            android:onClick="Register"
            android:text="@+string/register" />

        <Button
            android:id="@+id/button_login"
            style="@style/footer"
            android:background="@drawable/bg_footer"
            android:onClick="OpenLoginScreen"
            android:text="@+string/login" />
    </LinearLayout>

</RelativeLayout>

而且它说LinearLayoutRelativeLayout没用..

有谁知道如何解决这个问题?

感谢。

修改

现在按钮顶部对齐,但需要底部对齐。

<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:background="@drawable/bg_main"
    tools:context=".ActivityHome" >

        <Button
            android:id="@+id/button_exit"
            style="@style/footer"
            android:background="@drawable/bg_footer"
            android:onClick="CloseActivity"
            android:text="@+string/exit" />

        <Button
            android:id="@+id/button_register"
            style="@style/footer"
            android:background="@drawable/bg_footer"
            android:onClick="Register"
            android:text="@+string/register" />

        <Button
            android:id="@+id/button_login"
            style="@style/footer"
            android:background="@drawable/bg_footer"
            android:onClick="OpenLoginScreen"
            android:text="@+string/login" />

</LinearLayout>

4 个答案:

答案 0 :(得分:1)

因为你现在都没有使用它们。例如,如果您添加另一个linearLayout包装并将其相对于上面的那个定位,那么您将同时使用它们。

答案 1 :(得分:1)

试试这个

 <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"
    tools:context=".ActivityHome" 
   >

    <Button
        android:id="@+id/button_exit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:background="@drawable/bg_footer"
        android:onClick="CloseActivity" />

    <Button
        android:id="@+id/button_register"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/button_exit"
      android:layout_alignParentBottom="true"
        android:background="@drawable/bg_footer"
        android:onClick="Register"
      />

    <Button
        android:id="@+id/button_login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_toRightOf="@+id/button_register"
         android:layout_alignParentBottom="true"
        android:background="@drawable/bg_footer"
        android:onClick="OpenLoginScreen"/>

答案 2 :(得分:0)

所有你需要做的就是删除,根父“RelativeLayout”,因为你几乎没有使用它,IDE足够聪明,可以告诉你什么时候Layouts上有冗余,你实际上对RelativeLayout其他什么都不做比包装一个LinearLayout因此显示一个警告,让你知道它没用它......

<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:background="@drawable/bg_main"
  tools:context=".ActivityHome" >

    <Button
        android:id="@+id/button_exit"
        style="@style/footer"
        android:background="@drawable/bg_footer"
        android:onClick="CloseActivity"
        android:text="@+string/exit"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"/>

    <Button
        android:id="@+id/button_register"
        style="@style/footer"
        android:background="@drawable/bg_footer"
        android:onClick="Register"
        android:text="@+string/register"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"/>

    <Button
        android:id="@+id/button_login"
        style="@style/footer"
        android:background="@drawable/bg_footer"
        android:onClick="OpenLoginScreen"
        android:text="@+string/login" 
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"/>

答案 3 :(得分:0)

<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="wrap_content"
    android:background="@drawable/bg_main"
    android:orientation="horizontal"
    android:gravity="center_horizontal"
    android:layout_gravity="bottom"
    tools:context=".ActivityHome" >

    <Button
        android:id="@+id/button_exit"
        style="@style/footer"
        android:background="@drawable/bg_footer"
        android:onClick="CloseActivity"
        android:text="@+string/exit" />
    <Button
        android:id="@+id/button_register"
        style="@style/footer"
        android:background="@drawable/bg_footer"
        android:onClick="Register"
        android:text="@+string/register" />
     <Button
        android:id="@+id/button_login"
        style="@style/footer"
        android:background="@drawable/bg_footer"
        android:onClick="OpenLoginScreen"
        android:text="@+string/login" />
</LinearLayout>

这将删除不必要的RelativeLayout并将您的视图对齐在活动的底部。