Set Android Theme.Light for Alert Dialog

22,192

Solution 1

change parent="android:Theme.Light" to parent="@android:style/Theme.Light"

Solution 2

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.

<style name="popup_theme" parent="@android:style/Theme.Dialog">

Try overriding the Theme.Dialog using things like:

<item name="android:textAppearance">?android:attr/textAppearanceInverse</item>

Solution 3

Try this:

<style name="popup_theme" parent="Theme.AppCompat.Light.Dialog.Alert">

Solution 4

parent="android:style/Theme.Light"
Share:
22,192

Related videos on Youtube

Arnab Chakraborty
Author by

Arnab Chakraborty

Began with C++, became a fan of C, went through Java out of curiosity and am now stuck with Android &amp; ASP.NET. Have fallen in love with design principles and software engineering in general.

Updated on December 30, 2020

Comments

  • Arnab Chakraborty
    Arnab Chakraborty over 3 years

    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 :(

  • Arnab Chakraborty
    Arnab Chakraborty almost 13 years
    Corrected it. Still no change.
  • android developer
    android developer about 11 years
    does it work? also, how do you set it for actionBarSherlock dialogs?