Comments (5)
I lost a lot of time trying to figure how to implement this and at the result is quite simple, if you just want all the dialogs to have the same style.
Set a theme like this to the activity implementing the preferences:
`
<!-- Accent color for preferences activity ........... -->
<color name="preference_accent">@color/app_accent</color>
<!-- App theme for preferences activity ........... -->
<style name="AppThemePreferences" parent="@style/PreferenceFixTheme">
<item name="colorPrimary">@color/app_primary</item>
<item name="colorPrimaryDark">@color/app_primary_dark</item>
<item name="colorAccent">@color/app_accent</item>
<item name="android:windowBackground">@color/app_background</item>
<item name="actionModeBackground">@color/app_action_mode_background</item>
<item name="colorControlHighlight">@color/app_control_highlight</item>
<item name="colorControlActivated">@color/app_control_activated</item>
<!-- AppCompat Dialog Attributes -->
<item name="dialogTheme">@style/AppCompatDialog</item>
<item name="alertDialogTheme">@style/AppCompatAlert</item>
</style>
<!-- Generic Dialog Theme -->
<style name="AppCompatDialog" parent="Theme.AppCompat.Dialog">
<!-- Used for the title and text -->
<item name="android:textColorPrimary">@color/dialog_text</item>
<!-- Used for the background -->
<item name="android:background">@color/dialog_background</item>
<!-- Used for the buttons -->
<item name="colorAccent">@color/dialog_button</item>
<item name="colorControlHighlight">@color/dialog_control_highlight</item>
<item name="colorPrimary">@color/app_primary</item>
<item name="colorPrimaryDark">@color/app_primary_dark</item>
</style>
<!-- Alert Dialog Theme -->
<style name="AppCompatAlert" parent="Theme.AppCompat.Dialog.Alert">
<item name="android:textColorPrimary">@color/dialog_text</item>
<!-- Used for the background -->
<item name="android:background">@color/dialog_background</item>
<!-- Used for the buttons -->
<item name="colorAccent">@color/dialog_button</item>
<item name="colorControlHighlight">@color/dialog_control_highlight</item>
<item name="colorPrimary">@color/app_primary</item>
<item name="colorPrimaryDark">@color/app_primary_dark</item>
</style>
`
Take the above code as an example as I took it directly from my app, but it is working properly for me.
from android-support-preference-v7-fix.
Okay, I got it working. Thank you both so much. I was using "android:alertDialogTheme" instead of the plain "alertDialogTheme". Frustrating. I also was not using the PreferenceFixTheme as a base for my Preference Theme which perhaps has an effect as well.
from android-support-preference-v7-fix.
What @giccisw writes is the standard way of overriding AlertDialog
styles. It was part of the lib as the AlertDialog
wouldn't use the accent color from the main theme, but has been removed since in v24.2.0.0 because the Android team fixed this behavior.
from android-support-preference-v7-fix.
So to be clear @Gericop: I should be able to set the background of the displayed AlertDialog that is displayed from any DialogPreference-derived Preference? Because I have not been able to effect any changes to the dialogs. I will be trying to tweak my existing style to match what @giccisw has above (I thought mine was pretty much the same, but it could be one character off I suppose).
from android-support-preference-v7-fix.
What is PreferenceFixTheme?
from android-support-preference-v7-fix.
Related Issues (20)
- .setcancelable for Dialog? HOT 1
- how to show divider between preference when merged to androidX-1.0.0/support-28 HOT 1
- ColorPickerPreference dialog style HOT 1
- how to get items from custom view HOT 1
- [AndroidX] android:dependency doesn't change color of preference HOT 5
- PreferenceScreen deprecated in Android Q HOT 2
- Request to update the version of the preference library HOT 5
- Broken when using with latest AndroidX material alpha05 and appcompat alpha04 HOT 8
- keyboard do not hide when cancel button is clicked of editTextPreference HOT 2
- Issue with themes HOT 3
- NullPointerException in PreferenceFragmentCompat.traverseAndRefreshPrefs()
- Popup menu android doesn't work correctly HOT 1
- NumberFormatException in RingtonePreferenceDialogFragmentCompat HOT 7
- AndroidX 1.1.0 HOT 4
- Expand/Contract PreferenceCategory HOT 3
- Question about migrating from library fix:preference-v7:28.0.0.0 to preferencex:preferencex:1.1.0
- How do you get the value from ColorPickerPreference
- Exception: java.lang.NumberFormatException HOT 1
- How to add a ad in a Preference Screen? HOT 1
- ListPreference Crash on theme change (Light to Dark or Vice versa) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from android-support-preference-v7-fix.