I am trying to change the text color of the “Set time” button in a MaterialTimePicker that opens from a WebView in my Android app. I want to achieve this by modifying the styles.xml file.
time picker
thats my style file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<!-- <style name="NormalTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">-->
<style name="NormalTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="android:windowBackground">?android:colorBackground</item>
<item name="android:alertDialogTheme">@style/CustomMaterialDialog</item>
<!-- <item name="android:dialogTheme">@style/CustomTimePickerDialog</item>-->
<!-- <item name="android:datePickerDialogTheme">@style/CustomTimePickerDialog</item>-->
<item name="colorAccent">#1E90FF</item>
<item name="colorPrimary">#1E90FF</item>
<item name="colorOnPrimary">#1E90FF</item>
<item name="colorOnSurface">#1E90FF</item>
<item name="android:colorControlNormal">#1E90FF</item> <!-- color for (horizontal) delimeters -->
<item name="android:textColorPrimaryInverse">#1E90FF</item>
<item name="android:textColorSecondaryInverse">#1E90FF</item>
<item name="android:textColorSecondary">#1E90FF</item>
<item name="android:subtitleTextColor">#1E90FF</item>
<item name="android:titleTextColor">#1E90FF</item>
<item name="android:textColorTertiary">#1E90FF</item>
<item name="android:textColorTertiaryInverse">#1E90FF</item>
<item name="titleTextColor">#1E90FF</item>
<item name="android:textColorAlertDialogListItem">#1E90FF</item>
<item name="android:textColorSecondaryNoDisable">#1E90FF</item>
<item name="android:colorForeground">#1E90FF</item>
<item name="android:colorForegroundInverse">#1E90FF</item>
<item name="android:colorActivatedHighlight">#1E90FF</item>
<item name="android:colorButtonNormal">#1E90FF</item>
<item name="android:colorPrimaryDark">#1E90FF</item>
<item name="android:textColorPrimary">#1E90FF</item>
<item name="android:colorPrimary">#1E90FF</item>
<item name="android:colorAccent">#1E90FF</item>
<item name="android:textColor">#1E90FF</item>
</style>
<style name="CustomWindowTitleStyle" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:maxLines">1</item>
<item name="android:textColor">#1E90FF</item>
<item name="color">#1E90FF</item>
</style>
<style name="MyAlertTextAppearance">
<!-- Set text size and color of title and message here -->
<item name="android:textColor">#1E90FF</item>
</style>
<style name="CustomTimePickerTitleText" parent="TextAppearance.MaterialComponents.Headline6">
<item name="android:textColor">#1E90FF</item> <!-- Replace with your color -->
</style>
<style name="CustomMaterialDialog" parent="ThemeOverlay.MaterialComponents.TimePicker">
<!-- Change the header title color -->
<item name="colorOnPrimary">#1E90FF</item>
<item name="colorAccent">#1E90FF</item>
<item name="colorPrimary">#1E90FF</item>
<item name="titleTextColor">#1E90FF</item>
<item name="windowNoTitle">true</item>
<item name="android:windowNoTitle">true</item>
<item name="textAppearanceHeadline6">@style/CustomTimePickerTitleText</item>
<item name="textAppearanceHeadline5">@style/CustomTimePickerTitleText</item>
<item name="textAppearanceHeadline4">@style/CustomTimePickerTitleText</item>
<item name="textAppearanceHeadline3">@style/CustomTimePickerTitleText</item>
<item name="textAppearanceHeadline2">@style/CustomTimePickerTitleText</item>
<item name="titleTextAppearance">@style/CustomTimePickerTitleText</item>
<item name="textAppearanceHeadlineLarge">@style/CustomTimePickerTitleText</item>
<item name="textAppearanceHeadline1">@style/CustomTimePickerTitleText</item>
<item name="textAppearanceHeadlineMedium">@style/CustomTimePickerTitleText</item>
<item name="textAppearanceHeadlineSmall">@style/CustomTimePickerTitleText</item>
<item name="textAppearanceTitleMedium">@style/CustomTimePickerTitleText</item>
<item name="textAppearanceTitleSmall">@style/CustomTimePickerTitleText</item>
<item name="textAppearanceTitleLarge">@style/CustomTimePickerTitleText</item>
<item name="textAppearanceLabelLarge">@style/CustomTimePickerTitleText</item>
<item name="textAppearanceLabelSmall">@style/CustomTimePickerTitleText</item>
<item name="textAppearanceLabelMedium">@style/CustomTimePickerTitleText</item>
<item name="android:textAppearanceMedium">@style/MyAlertTextAppearance</item>
<item name="android:windowTitleStyle">@style/CustomWindowTitleStyle</item>
<item name="colorSecondary">#1E90FF</item>
<item name="colorOnBackground">#1E90FF</item>
<!-- <item name="colorSurface">#1E90FF</item>-->
<item name="colorOnSurface">#1E90FF</item>
<item name="android:colorAccent">#1E90FF</item>
<item name="android:textColor">#1E90FF</item>
<item name="android:titleTextColor">#1E90FF</item>
<item name="android:textColorPrimary">#1E90FF</item>
<item name="android:colorPrimary">#1E90FF</item>
<!-- Change the divider color -->
<item name="dividerColor">#1E90FF</item>
</style>
<style name="BodyTextAppearance.MaterialComponents.Body2" parent="@style/MaterialAlertDialog.MaterialComponents.Body.Text">
<item name="android:textColor">#1E90FF</item>
<item name="android:textSize">20sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textAllCaps">true</item>
<item name="fontFamily">sans-serif-condensed-light</item>
</style>
<style name="TitleTextStyle" parent="MaterialAlertDialog.MaterialComponents.Title.Text">
<item name="dividerColor">#1E90FF</item>
<item name="android:textColorPrimary">#1E90FF</item>
<item name="android:colorPrimary">#1E90FF</item>
<item name="android:textColor">#1E90FF</item>
<item name="colorPrimary">#1E90FF</item>
<item name="colorOnPrimary">#1E90FF</item>
<item name="android:colorAccent">#1E90FF</item>
<item name="android:textSize">20sp</item>
</style>
<style name="SpinnerDatePicker" parent="@android:style/Widget.DatePicker">
<item name="android:calendarViewShown">false</item>
<item name="android:datePickerMode">spinner</item>
<item name="colorPrimary">#1E90FF</item>
<item name="colorOnPrimary">#1E90FF</item>
<item name="android:colorAccent">#1E90FF</item>
<item name="android:textColorPrimary">#1E90FF</item>
<item name="android:colorPrimary">#1E90FF</item>
<item name="android:textColor">#1E90FF</item>
</style>
<style name="CustomTimePickerDialog" parent="ThemeOverlay.MaterialComponents.TimePicker">
<!-- Set the background color of the dialog to white -->
<item name="colorSurface">#FFFFFF</item>
<item name="chipBackgroundColor">#1E90FF</item>
<item name="colorAccent">#1E90FF</item>
<item name="colorPrimary">#1E90FF</item>
<item name="colorOnPrimary">#1E90FF</item>
<item name="android:textColorPrimary">#1E90FF</item>
<item name="android:colorPrimary">#1E90FF</item>
<item name="android:colorAccent">#1E90FF</item>
<item name="android:textColor">#1E90FF</item>
<item name="chipSurfaceColor">#1E90FF</item>
<!-- Set the header background color -->
</style>
</resources>
Problem: The color of the “Set time” button does not change after applying these styles. The time picker opens fine, but the “Set” button still shows the default color.
New contributor
hoksh max is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
2