Android:无法在屏幕底部显示两个按钮

时间:2011-08-16 12:45:03

标签: android

我正在尝试在屏幕底部显示文本视图,列表视图和两个按钮。 这是我的布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/widget36"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<TextView
android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TextView"
android:gravity="center"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true">
</TextView>
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
>
</ListView>
<RelativeLayout
android:id="@+id/relativeLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/darkgray"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
>
<Button
android:id="@+id/doneButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Button"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_weight="0.5">
</Button>
<Button
android:id="@+id/cancelButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Button"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_right="@+id/doneButton"
android:layout_weight="0.5">
</Button>
</RelativeLayout>
</RelativeLayout>

你能帮我解决问题是什么&gt;

4 个答案:

答案 0 :(得分:1)

很可能你想要这个

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:id="@+id/widget36"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
>
    <TextView
        android:id="@+id/textView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="TextView"
        android:gravity="center_horizontal"
    >
    </TextView>
    <ListView
        android:id="@+id/listView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
    >
    </ListView>
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@color/darkgray"
    >
        <Button
            android:id="@+id/doneButton"
            android:text="Button"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:layout_weight="1"
        >
        </Button>
        <Button
            android:id="@+id/cancelButton"
            android:layout_height="wrap_content"
            android:text="Button"
            android:layout_width="fill_parent"
            android:layout_weight="1"
        >
        </Button>
    </LinearLayout>
</LinearLayout>

答案 1 :(得分:0)

如果您尝试专门放置物品,可以尝试将它们相对于其他物品对齐。所以而不是:

    android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"

您可以使用:

    <Button
    android:id="@+id/doneButton"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Button"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_weight="0.5">
    </Button>
    <Button
    android:id="@+id/cancelButton"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Button"
    android:layout_alignParentBottom="true"
    android:layout_toRightOf="@+id/doneButton"
    android:layout_weight="0.5">
    </Button>

答案 2 :(得分:0)

我已对您的代码进行了更改,请检查:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/widget36"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<TextView
android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TextView"
android:gravity="center"
android:layout_above = "@+id/listView"
>
</TextView>
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/relativeLayout"
android:layout_alignParentLeft="true"
>
</ListView>
<RelativeLayout
android:id="@+id/relativeLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#222222"
android:layout_alignParentBottom="true"
android:gravity = "center_horizontal">
<Button
android:id="@+id/doneButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1"
android:layout_weight="0.5">
</Button>
<Button
android:id="@+id/cancelButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button2"
android:layout_toRightOf="@+id/doneButton"
android:layout_weight="0.5">
</Button>
</RelativeLayout>
</RelativeLayout>

答案 3 :(得分:0)

你应该将android:layout_width设置为wrap_content。将两个按钮设置为fill_parent意味着两个按钮都将与屏幕一样宽。