Est-il possible de changer la couleur par défaut de DatePicker
et TimePicker
dialog?
C'est le code que j'ai essayé
<DatePicker
style="@style/date_picker"
Android:background="#6495ED"
Android:id="@+id/DatePicker"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_marginTop="5dp"
Android:layout_marginBottom="5dp"
Android:layout_marginLeft="5dip"
Android:layout_marginRight="5dip" />
<TimePicker
Android:id="@+id/TimePicker"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_marginTop="5dp"
Android:layout_marginBottom="5dp"
Android:layout_marginLeft="5dip"
Android:layout_marginRight="5dip" />
Au-dessous de deux lignes ne modifiant que la couleur d'arrière-plan, je souhaite modifier la couleur argent par défaut du sélecteur de date et d'heure.
Toute aide s'il vous plaît.
style="@style/date_picker"
Android:background="#6495ED"
La meilleure façon de changer la boîte de dialogue du sélecteur consiste à lui ajouter un style personnalisé.
<style name="TimePickerTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="colorAccent">@color/color_primary</item>
<item name="Android:layout_width">wrap_content</item>
<item name="Android:layout_height">wrap_content</item>
</style>
TimePickerDialog timePicker = new TimePickerDialog(mContext, R.style.TimePickerTheme, fromListener, hour, min, false);
A parfaitement fonctionné pour moi.
Vous devez créer un thème personnalisé et l'enregistrer dans certains répertoires pour le définir comme thème par défaut pour l'application.
Tout d'abord, dans les valeurs, ajoutez un themes.xml comme ceci:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyAppTheme" parent="@Android:style/Theme.Light.NoTitleBar">
<!-- Any customizations for your app running on pre-3.0 devices here -->
</style>
</resources>
Ensuite, créez un répertoire avec le nom "values-v11" (Android 3.0+) dans le répertoire res et placez un themes.xml comme celui-ci.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyAppTheme" parent="@Android:style/Theme.Holo.Light">
<!-- Any customizations for your app running on 3.0+ devices here -->
</style>
</resources>
Enfin, créez un répertoire avec le nom "values-v14" (Android 4.0+) dans le répertoire res et créez un themes.xml.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyAppTheme" parent="@Android:style/Theme.DeviceDefault.Light.NoActionBar">
<!-- Any customizations for your app running on 4.0+ devices here -->
</style>
</resources>
Enfin dans votre manifeste.xml
<application
...
Android:theme="@style/MyAppTheme">
Je pense qu'il n'y a aucun moyen de changer facilement la couleur grise des anciens widgets de sélecteur natif en XML.
Je vous propose d’utiliser la bibliothèque HoloEverywhere pour que DatePicker et TimePicker aient l’air vraiment sympa sur toutes les plateformes Android 2.1+.
vous pouvez changer le thème de votre sélecteur de date en changeant de thème comme celui-ci.
changer les articles selon vous.
<style name="date_picker" parent="@Android:style/Widget.DeviceDefault.DatePicker">
<item name="Android:divider">@drawable/dialog_divider</item>
modifiez les éléments en fonction de vous ..__ et définissez ce thème selon votre style de sélecteur de données
style="@style/date_picker"
Pour le sélecteur de date, ajoutez ces codes à color.xml
<color name="mdtp_accent_color">#070B82</color>
<color name="mdtp_accent_color_dark">#0D105E</color>
Pour les deux, vous pouvez définir le style dans style.xml
<style name="TimePickerTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/blue</item>
</style>
et définir le style en xml:
Android:theme="@style/MyAppTheme"
ou par programme:
TimePickerDialog timePicker = new TimePickerDialog (mContext, R.style.TimePickerTheme, fromListener, hour, min, false);