Custom font in DatePicker

877 views Asked by At

How can I specify the font in all fields in the DatePicker? I did this with some fields.

I can always use custom libraries, but I would like to do this using DatePicker.

Here is my code:

<style name="MyTheme" parent="@style/Theme.MaterialComponents.Light">
    <item name="android:datePickerDialogTheme" tools:targetApi="lollipop">
    @style/MyDatePickerDialogTheme</item>
</style>
<style name="MyDatePickerDialogTheme" parent="Theme.MaterialComponents.Light.Dialog.Alert">
    <item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
    <item name="android:yearListItemTextAppearance">
               @style/TextAppearance.Material.DatePicker.List.YearLabel</item>
    <item name="colorAccent">#FF065DA0</item>
</style>
<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker">
    <item name="android:headerBackground">@color/primary</item>
    <!--<item name="android:calendarTextColor">#e37</item>-->  <!--it is work-->
    <item name="android:dayOfWeekTextAppearance">
               @style/TextAppearance.Material.DatePicker.DayOfWeekLabel</item>
    <item name="android:headerMonthTextAppearance">
               @style/TextAppearance.Material.DatePicker.MonthLabel</item>
    <item name="android:headerDayOfMonthTextAppearance">
               @style/TextAppearance.Material.DatePicker.DayOfMonthLabel</item>
    <item name="android:headerYearTextAppearance">
               @style/TextAppearance.Material.DatePicker.YearLabel</item>
</style>
<style name="TextAppearance.Material.DatePicker.DayOfWeekLabel" parent="TextAppearance.AppCompat">
    <item name="android:fontFamily">@font/roboto_regular</item>
    <item name="android:textSize">@dimen/txtd14</item>
    <item name="android:textColor">@color/white</item>
</style>
<style name="TextAppearance.Material.DatePicker.MonthLabel" parent="TextAppearance.AppCompat">
    <item name="android:fontFamily">@font/roboto_regular</item>
    <item name="android:textSize">@dimen/txtd24</item>
    <item name="android:textColor">@drawable/bg_data_picker_text_selector</item>
</style>
<style name="TextAppearance.Material.DatePicker.DayOfMonthLabel" parent="TextAppearance.AppCompat">
    <item name="android:fontFamily">@font/roboto_regular</item>
    <item name="android:textSize">@dimen/txtd48</item>
    <item name="android:textColor">@drawable/bg_data_picker_text_selector</item>
</style>
<style name="TextAppearance.Material.DatePicker.YearLabel" parent="TextAppearance.AppCompat">
    <item name="android:fontFamily">@font/roboto_regular</item>
    <item name="android:textSize">@dimen/txtd24</item>
    <item name="android:textColor">@drawable/bg_data_picker_text_selector</item>
</style>
<style name="TextAppearance.Material.DatePicker.List.YearLabel" parent="TextAppearance.AppCompat">
    <item name="android:fontFamily">@font/roboto_regular</item>  <!--it is NOT work-->
    <item name="android:textSize">@dimen/txtd28</item> <!--it is work-->
    <item name="android:textColor">@color/red</item>  <!--it is work-->
</style>

Here is my result:

enter image description here

Thanks.

0

There are 0 answers