需要修复简单的布局错误

时间:2013-12-28 22:37:30

标签: android xml android-layout

我是android的新手,我正在使用Big Nerd Ranch Guide来学习(现在是第3章)。在下面的照片中,我想把按钮放在底角。但是,他们都在左上角。我如何解决它 ?照片后也给出了XML代码。我通过从水平布局视图中删除上一个和下一个按钮来解决问题。但是,我仍然可以在该布局中使用它并且都显示在底部吗?

enter image description here

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/question_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:padding="24dp" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center_horizontal"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/true_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/true_button" />

        <Button
            android:id="@+id/false_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/false_button" />
    </LinearLayout>


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

    <Button 
        android:id="@+id/previous_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|left"
        android:text="@string/previous_button"
        android:drawableRight="@drawable/arrow_left"
        android:drawablePadding="12dp" 
        />

    <Button 
        android:id="@+id/next_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:text="@string/next_button" 
        android:drawableRight="@drawable/arrow_right"
        android:drawablePadding="4dp" 
        />

    </LinearLayout>


</FrameLayout>

1 个答案:

答案 0 :(得分:1)

将按钮布局更改为RelativeLayout,以便轻松管理相对位置。

请注意我为其设置的属性:

alignParentLeft="true"
alignParentRight="true"

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="match_parent"
             android:layout_height="match_parent" >

    <TextView
            android:id="@+id/question_text_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:padding="24dp" />

    <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:orientation="horizontal" >

        <Button
                android:id="@+id/true_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/true_button" />

        <Button
                android:id="@+id/false_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/false_button" />
    </LinearLayout>


    <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_gravity="bottom">

        <Button
                android:id="@+id/previous_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:text="@string/previous_button"
                android:drawableRight="@drawable/arrow_left"
                android:drawablePadding="12dp"
                />

        <Button
                android:id="@+id/next_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:text="@string/next_button"
                android:drawableRight="@drawable/arrow_right"
                android:drawablePadding="4dp"
                />

    </RelativeLayout>


</FrameLayout>