Alex
Alex

Reputation: 502

Remove Title from DatePickerDialog

For some reason, I have two titles in my DatePickerDialog.

[Screenshot](http://i.imgur.com/8rVEjlv.png)

How can I get rid of the white title at the top? This is the code I use to create the Dialog:

datePickerDialog = new DatePickerDialog(ProfileActivity.this, this, year, month, day);
datePickerDialog.getDatePicker().updateDate(year, month - 1, day);
datePickerDialog.show();

Upvotes: 19

Views: 10146

Answers (7)

Kirguduck
Kirguduck

Reputation: 796

apply it in your styles

 <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>

Upvotes: 0

Shayan Samad
Shayan Samad

Reputation: 304

Use this to also hide the title background

datePickerDialog.setTitle(null);

Upvotes: 0

Pankaj Talaviya
Pankaj Talaviya

Reputation: 3458

datePickerDialog = new DatePickerDialog(ProfileActivity.this, this, year, month, day);
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
datePickerDialog.setTitle("");
datePickerDialog.show();

your should add datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis()); and then add datePickerDialog.setTitle("");

this type of sequence to remove top white background header

Upvotes: 0

Sheychan
Sheychan

Reputation: 2436

More appropriate so that it even supports holo versions

    datePickerDialog.setCustomTitle(null);

Upvotes: 0

cuasodayleo
cuasodayleo

Reputation: 466

AlertDialog have setCustomHeader method, using it and set a custom view with zero width, zero height. It will work

LinearLayout linearLayout = new LinearLayout(getApplicationContext());
timePickerDialog.setCustomTitle(linearLayout);

Upvotes: -1

Spoetnic
Spoetnic

Reputation: 584

I found that for myself: datePickerDialog.getDatePicker().setMaxDate(c.getTimeInMillis());

and probably for you: datePickerDialog.getDatePicker().updateDate(year, month - 1, day);

is the culprit. If you leave that line out, you won't have a title.

I'm looking into setting a specific theme tosolve the issue.

-- UPDATE --

Make sure you call .setTitle(""); AFTER you call .getDatePicker().x(). Otherwise it will not work.

Upvotes: 16

Shrey
Shrey

Reputation: 671

datePickerDialog.setTitle("");

Upvotes: 35

Related Questions