从 DatePickerDialog 中删除标题
Remove Title from DatePickerDialog
出于某种原因,我的 DatePickerDialog 中有两个标题。
如何去掉顶部的白色标题?
这是我用来创建对话框的代码:
datePickerDialog = new DatePickerDialog(ProfileActivity.this, this, year, month, day);
datePickerDialog.getDatePicker().updateDate(year, month - 1, day);
datePickerDialog.show();
datePickerDialog.setTitle("");
我自己发现:
datePickerDialog.getDatePicker().setMaxDate(c.getTimeInMillis());
可能对你来说:
datePickerDialog.getDatePicker().updateDate(year, month - 1, day);
是罪魁祸首。如果你离开那行,你将没有标题。
我正在考虑设置一个特定的主题来解决这个问题。
-- 更新--
确保在调用 .getDatePicker().x()
之后调用 .setTitle("");
。不然不行。
AlertDialog
有 setCustomHeader
方法,使用它并设置具有 zero
宽度和 zero
高度的自定义视图。它会起作用
LinearLayout linearLayout = new LinearLayout(getApplicationContext());
timePickerDialog.setCustomTitle(linearLayout);
更合适,甚至支持全息版本
datePickerDialog.setCustomTitle(null);
datePickerDialog = new DatePickerDialog(ProfileActivity.this, this, year, month, day);
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
datePickerDialog.setTitle("");
datePickerDialog.show();
你应该添加 datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis()); 然后添加 datePickerDialog.setTitle ("");
这种类型的序列去除顶部白色背景header
使用它也可以隐藏标题背景
datePickerDialog.setTitle(null);
将其应用到您的样式中
<style name="MaterialCalendarTheme" parent="ThemeOverlay.MaterialComponents.MaterialCalendar">
<item name="materialCalendarHeaderTitle">@style/HeaderTitle_Hide</item>
</style>
<style name="HeaderTitle_Hide" parent="@style/Widget.MaterialComponents.MaterialCalendar.HeaderTitle">
<item name="android:visibility">gone</item>
</style>
出于某种原因,我的 DatePickerDialog 中有两个标题。
如何去掉顶部的白色标题? 这是我用来创建对话框的代码:
datePickerDialog = new DatePickerDialog(ProfileActivity.this, this, year, month, day);
datePickerDialog.getDatePicker().updateDate(year, month - 1, day);
datePickerDialog.show();
datePickerDialog.setTitle("");
我自己发现:
datePickerDialog.getDatePicker().setMaxDate(c.getTimeInMillis());
可能对你来说:
datePickerDialog.getDatePicker().updateDate(year, month - 1, day);
是罪魁祸首。如果你离开那行,你将没有标题。
我正在考虑设置一个特定的主题来解决这个问题。
-- 更新--
确保在调用 .getDatePicker().x()
之后调用 .setTitle("");
。不然不行。
AlertDialog
有 setCustomHeader
方法,使用它并设置具有 zero
宽度和 zero
高度的自定义视图。它会起作用
LinearLayout linearLayout = new LinearLayout(getApplicationContext());
timePickerDialog.setCustomTitle(linearLayout);
更合适,甚至支持全息版本
datePickerDialog.setCustomTitle(null);
datePickerDialog = new DatePickerDialog(ProfileActivity.this, this, year, month, day);
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
datePickerDialog.setTitle("");
datePickerDialog.show();
你应该添加 datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis()); 然后添加 datePickerDialog.setTitle ("");
这种类型的序列去除顶部白色背景header
使用它也可以隐藏标题背景
datePickerDialog.setTitle(null);
将其应用到您的样式中
<style name="MaterialCalendarTheme" parent="ThemeOverlay.MaterialComponents.MaterialCalendar">
<item name="materialCalendarHeaderTitle">@style/HeaderTitle_Hide</item>
</style>
<style name="HeaderTitle_Hide" parent="@style/Widget.MaterialComponents.MaterialCalendar.HeaderTitle">
<item name="android:visibility">gone</item>
</style>