0

我正在尝试创建一个应如下所示的对话框:

在此处输入图像描述

我正在使用以下 axml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/widget32"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <Button
        android:id="@+id/btnCancel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Cancel"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@+id/btnSetDateTime" />
    <Button
        android:id="@+id/btnSetDateTime"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Set"
        android:layout_alignParentBottom="true" />
    <DatePicker
        android:id="@+id/datePicker1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:calendarViewShown="false"
        android:layout_centerInParent="true" />
    <TimePicker
        android:id="@+id/timePicker1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/datePicker1"/>
</RelativeLayout>

不幸的是,这在屏幕上显示为

在此处输入图像描述

我需要做什么才能让它在图中出现?

4

3 回答 3

0

您的 DatePicker 有一些令人困惑的布局属性。首先,您使用“alignParentTop”将其设置为整个视图的顶部,然后将其水平居中(到目前为止还不错),但随后您将其告诉 centerInParent,这似乎与您尝试做的相反。同样从草图的外观来看,日期和时间选择器的宽度都应该是 match_parent (可能具有相同的边距参数,如果您希望下面的按钮填充它们之间的视图宽度,我会将它们放在水平方向的线性布局中。

希望这可以帮助。

于 2013-08-09T14:28:54.930 回答
0

您不必使用 FrameLayout,只需使用 LinearLayout 即可,如下所示:

    <DatePicker
            android:id="@+id/datePicker1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:calendarViewShown="false" />

    <TimePicker
            android:id="@+id/timePicker1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:orientation="horizontal">
        <Button
                android:id="@+id/btnCancel"
                android:layout_width="100dip"
                android:layout_height="wrap_content"
                android:text="Cancel" />
        <Button
                android:id="@+id/btnSetDateTime"
                android:layout_width="100dip"
                android:layout_height="wrap_content"
                android:text="Set"/>
    </LinearLayout>

于 2013-08-09T15:20:34.613 回答
0

为您的按钮使用父垂直、LinearLayout 和子水平 LinearLayout。

于 2013-08-09T14:48:03.433 回答