anyone knows how to make the android MaterialDatePicker support RTL including the arrows for month pagination?
you can see that the should be facing the opposite way..
any suggestions how to mirror the arrow buttons?
EDIT:
my custom theme which I declared the View to be RTL:
<style name="datePickerTheme" parent="@style/ThemeOverlay.MaterialComponents.MaterialCalendar">
<item name="materialCalendarHeaderTitle">@style/materialCalendarTitle</item>
<item name="android:layoutDirection">rtl</item>
</style>
the locale that I am using in my app (hebrew Israel):
val languageToLoad = "iw_IL"
val locale = Locale(languageToLoad)
Locale.setDefault(locale)
baseContext.resources.configuration.setLocale(locale)
my MaterialDatePicker
initialization :
val datePickerBuilder =
MaterialDatePicker.Builder.datePicker()
val constraints = CalendarConstraints.Builder()
.setValidator(object : CalendarConstraints.DateValidator {
override fun describeContents(): Int {
return 0
}
override fun writeToParcel(p0: Parcel?, p1: Int) {
}
override fun isValid(date: Long): Boolean {
//checks if date is more than 3 months
if (Calendar.getInstance().timeInMillis - date > 90 * daysInMilli
|| Calendar.getInstance().timeInMillis < date
) {
return false
}
return true
}
})
datePickerBuilder
.setTitleText("החל מתאריך")
.setTheme(R.style.datePickerTheme)
.setSelection(MaterialDatePicker.todayInUtcMilliseconds() - 3 * daysInMilli)
.setCalendarConstraints(constraints.build())
val datePicker = datePickerBuilder.build()
R.style.datePickerTheme
:
<style name="materialCalendarTitle">
<item name="android:textSize">18dp</item>
<item name="android:textColor">@color/white</item>
</style>
<style name="datePickerTheme" parent="@style/ThemeOverlay.MaterialComponents.MaterialCalendar">
<item name="materialCalendarHeaderTitle">@style/materialCalendarTitle</item>
</style>