Android kitkat (Api 19) стайлинг
Я пытаюсь изменить цвет DatePickerDialog (см. Изображение ниже) в API 19 (Android 4.4 Kitkat).
Я создаю DatePickerDialog, когда нажимаю на поле EditText, поэтому у меня нет XML-файла, где я могу установить свойства DatePickerDialog.
Я попытался оформить его с помощью приведенного ниже кода, но это не работает, так как минимальное требование - версия API 21.
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:datePickerDialogTheme">@style/MyDatePickerDialogTheme</item>
</style>
<style name="MyDatePickerDialogTheme" parent="android:Theme.Material.Light.Dialog">
<item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
<item name="android:colorAccent">@color/ColorPrimaryDark</item>
</style>
<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker">
<item name="android:headerBackground">@color/ColorPrimaryDark</item>
</style>
Есть ли кто-нибудь, у кого есть решение этой проблемы? Моя проблема появляется только в API ниже 21, так как у меня другой стиль для уровней API выше 21.
С уважением!
Код для настройки DatePickerDialog:
private void setDateTimeField() {
Date.setOnClickListener(this);
Calendar newCalendar = Calendar.getInstance();
DateDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
if(view.isShown())
{
Calendar newDate = Calendar.getInstance();
newDate.set(year, monthOfYear, dayOfMonth);
String dob_var = dateFormat.format(newDate.getTime());
String date = dob_var.replaceAll("([A-Z])\\w+ ", "");
String dayOfWeek = Variables.getDayOfWeek(date);
Date.setText(dayOfWeek.toUpperCase() + " " + date);
Variables.dateToGet = date;
weekNumber.setText(variables.getWeekNumber(date));
lv.setAdapter(null);
results.clear();
new RetrieveFeedTask().execute();
adapter = new MyCustomBaseAdapter(view.getContext(), results);
lv.setAdapter(adapter);
}
}
},newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
}
XML-файл:
<resources>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/MenuBar</item>
<item name="colorPrimaryDark">@color/ShadowMenuBar</item>
<item name="colorControlNormal">@color/ColorPrimaryDark</item>
<item name="colorControlActivated">@color/ColorPrimaryDark</item>
<item name="colorControlHighlight">@color/ColorPrimaryDark</item>
<item name="colorAccent">@color/ColorPrimaryDark</item>
<!--<item name="android:datePickerDialogTheme">@style/MyDatePickerDialogTheme</item>-->
</style>
<!--<style name="MyDatePickerDialogTheme" parent="android:Theme.Material.Light.Dialog">
<item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
<item name="android:colorAccent">@color/ColorPrimaryDark</item>
</style>
<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker">
<item name="android:headerBackground">@color/ColorPrimaryDark</item>
</style>-->
Layoutfile:
<?xml version="1.0" encoding="utf-8"?>
<EditText
android:id="@+id/date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="01-01-2016"
android:hint="Date"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentStart="true" />
<ListView
android:id="@+id/listItemSkema"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fadeScrollbars="false"
android:layout_above="@+id/previousDay"
android:layout_below="@+id/date"
android:layout_alignParentEnd="true"
android:layout_alignParentStart="true">
</ListView>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/previousDay"
android:id="@+id/previousDay"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/weekNumber"
android:text="Uge"
android:textColor="@color/black"
android:textSize="35sp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/nextDay"
android:id="@+id/nextDay"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/listItemSkema"
android:layout_alignEnd="@+id/listItemSkema" />