Я использую timepickerdialog. Для его отображения я использую эту команду:
TimePickerDialog(
view.context, R.style.TimePickerDialog,
TimePickerDialog.OnTimeSetListener { view, hourOfDay, minute ->
...
}, Calendar.getInstance().get(Calendar.HOUR),
Calendar.getInstance().get(Calendar.MINUTE),
DateFormat.is24HourFormat(view.context)
).show()
и в своем стиле TimePickerDialog я написал следующее:
<style name="TimePickerDialog" parent="Theme.AppCompat.Light.Dialog">
<item name="colorPrimary">#FC6572</item>
<item name="colorPrimaryDark">#FC6572</item>
<item name="colorAccent">#FC6572</item>
<item name="android:textColor">#FC6572</item>
<item name="android:headerBackground">#fff</item>
<item name="android:amPmTextColor">#FC6572</item>
<item name="android:headerAmPmTextAppearance">#FC6572</item>
<item name="android:headerTimeTextAppearance">@android:color/black</item>
<item name="android:numbersInnerTextColor">#80000000</item>
<item name="android:numbersSelectorColor">#FC6572</item>
<item name="android:numbersTextColor">#80000000</item>
<item name="android:numbersBackgroundColor">#fff</item>
</style>
Теперь это выглядит не очень хорошо. Я экспериментировал с таймером в макете. Когда я устанавливаю этот стиль как android:theme="@style/TimePickerDialog"
, он такой же, как в диалоге. Когда я установил это, используя style="@style/TimePickerDialog"
, это тоже не было хорошо. Но когда я устанавливаю тему и стиль за один раз так:
android:theme="@style/TimePickerDialog"
style="@style/TimePickerDialog"
, тогда он работает нормально.
Так что я думаю, что мне нужно установить тему и стиль для моего timepickerdialog. Как установить тему программно я знаю: напиши это в конструкторе. Но я не знаю, как установить стиль программно. Итак, вот мой вопрос: как программно установить стиль (не тему)?