隐藏 "selected date" 部分 DatePicker

Hide "selected date" part of DatePicker

我创建了一个自定义对话框,其中我在视图的顶部有一个 DatePicker,在下部有一个带有 AM/PM 单选按钮的 NumberPicker。工作正常,但 DatePicker 默认情况下在顶部有这个额外区域,显示 "selected date" 如下面的屏幕截图所示。我怎样才能删除它,以便我在日期选择器区域中拥有的只是日历本身?这可能吗?我要删除的部分是黄色的。

datetime_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/layoutDateTimePickerContainer"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:orientation="vertical">

    <DatePicker
        android:id="@+id/dialogDatePicker"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:gravity="center_vertical|center_horizontal"
        android:orientation="horizontal">

        <NumberPicker
            android:id="@+id/dialogTimePicker"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />    

        <RadioGroup
            android:id="@+id/radgrpDateTimePicker"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginStart="20dp"
            android:checkedButton="@+id/radDateTimePickerAM"
            android:gravity="center_vertical">

            <RadioButton
                android:id="@+id/radDateTimePickerAM"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="AM"/>

            <RadioButton
                android:id="@+id/radDateTimePickerPM"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="PM"/>

        </RadioGroup>

    </LinearLayout>

    <TableRow
        android:id="@+id/trDateTimePickerButtonsContainer"
        style="?android:attr/buttonBarStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="end"
        android:padding="10dp">

        <Button
            android:id="@+id/btnDateTimePickerCancel"
            style="?android:attr/buttonBarButtonStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="20dp"
            android:text="@string/general_cancel"
            android:textAllCaps="false"/>

        <Button
            android:id="@+id/btnDateTimePickerOkay"
            style="?android:attr/buttonBarButtonStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/general_okay"
            android:textAllCaps="false"/>

    </TableRow>

</LinearLayout>

请试试这个:

dialogDatePicker.setTitle("");

你试过这样吗:

DatePickerDialog dialog= new DatePickerDialog(this, dateSetListener, year, month, day);
dialog.setTitle("");

想通了。您必须引用 DatePicker 本身的 LinearLayout,然后 .getChildAt(0) 并隐藏它。

Dialog dialog = new Dialog(context);
dialog.setContentView(R.id.datetime_dialog);
DatePicker datePicker = dialog.findViewById(R.id.dialogDatePicker);
LinearLayout datePickerHeader = (LinearLayout) datePicker.getChildAt(0);
datePickerHeader.setVisibility(View.GONE);