Измените кнопки DatePickerDialog на текст - PullRequest
0 голосов
/ 28 ноября 2018

Привет, я хочу настроить мой DatePickerDialog, и вместо кнопок внизу (показано на рисунке ниже) я просто хочу сделать синий текст.

image

Here is how i created DatePickerDialog

private val birthdayDate by lazy {
    Calendar.getInstance()
}
private val datePicker by lazy {
    DatePickerDialog(
        context,
        R.style.MyDatePickerDialogTheme,
        this,
        birthdayDate.get(Calendar.YEAR),
        birthdayDate.get(Calendar.MONTH),
        birthdayDate.get(Calendar.DAY_OF_MONTH)
    ).also {
        it.datePicker.maxDate = Calendar.getInstance().timeInMillis
    }
}

Then i just call show method to display the dialog. I think problem is somewhere in my style, but i can not find where. Any help will be highly appreciated.

@ color / colorPrimary   

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Итак, я наконец нашел решение.Я добавил дополнительные поля в MyDatePickerDialogTheme и дополнительный стиль для кнопок, используемых в DatePicker.Решение выглядит так:

<style name="MyDatePickerDialogTheme" parent="Theme.AppCompat.Light.Dialog">
    <item name="colorAccent">@color/colorPrimary</item>
    <item name="android:buttonBarPositiveButtonStyle">@style/DatePickerButtonStyle</item>
    <item name="android:buttonBarNegativeButtonStyle">@style/DatePickerButtonStyle</item>
</style>

<style name="DatePickerButtonStyle" parent="Base.Widget.AppCompat.Button.Borderless">
    <item name="android:textColor">@color/colorPrimary</item>
    <item name="android:backgroundTint">@color/white</item>
</style>
0 голосов
/ 28 ноября 2018

как указано в этой ссылке , вы можете использовать эту тему

DatePickerDialog dpd = new DatePickerDialog(getActivity(),
                    AlertDialog.THEME_DEVICE_DEFAULT_LIGHT,this,year,month,day); 

для достижения того, что вы хотите

...