隐藏 "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);
我创建了一个自定义对话框,其中我在视图的顶部有一个 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);