I am trying to set the android Theme.Light theme for my alert dialog, but with no success so far. After reading a few tutorials I gathered that using AlertDialog.Builder we cannot set the theme directly in the constructor (atleast in API level 7).
The alternate solution that I found is using a ContextThemeWrapper, which everyone assured would solve my problem. So I coded something like this:
AlertDialog.Builder builder = new AlertDialog.Builder(
new ContextThemeWrapper(context, R.style.popup_theme));
I described my theme in the values folder:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="back_color">#ffffffff</color>
<style name="popup_theme" parent="@android:style/Theme.Light">
<item name="android:windowBackground">@color/back_color</item>
<item name="android:colorBackground">@color/back_color</item>
</style>
Unfortunately I still get the default Theme.Dialog.Alert theme. Can anyone tell me why? Where am I going wrong?
EDIT: If you do not know the answer to my question, please vote up. I have a bad habit of posting questions which get stuck :(
change
parent="android:Theme.Light"
toparent="@android:style/Theme.Light"
This is what I did. And it worked for me
Try this:
This took me a while to figure out as well.
The issue at hand is that Theme.Light and Theme.Holo.Light and such are designed around the activity. A dialog theme needs to be based around a theme such as @android:style/Theme.Dialog which contains properties specific to dialogs.
Try overriding the Theme.Dialog using things like: