AlertDialog style - comment changer de style (couleur) de titre, message, etc

J'ai de me casser la tête sur ce tout à fait un peu. Ce que j'ai besoin est, changer le style de tous les AlertDialogs dans mon application android - dialogue de fond doit être blanc-ish, et le texte doit être black-ish. J'ai essayé de créer un grand nombre de styles, de thèmes, et de l'application du code, le manifeste, etc, mais sans succès, à l'égard des couleurs de texte à l'intérieur de la AlertDialog. Maintenant, j'ai le plus simple de codes, mis comme ceci:

Manifeste:

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

styles.xml:

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:alertDialogStyle">@style/DialogStyle</item>
</style>

<style name="DialogStyle" parent="@android:style/Theme.Dialog">
    <!-- changing these background stuff works fine -->
    <item name="android:bottomBright">@android:color/white</item>
    <item name="android:bottomDark">@android:color/white</item>
    <item name="android:bottomMedium">@drawable/dialog_footer_bg</item>
    <item name="android:centerBright">@android:color/white</item>
    <item name="android:centerDark">@drawable/dialog_body_bg</item>
    <item name="android:centerMedium">@android:color/white</item>
    <item name="android:fullBright">@color/orange</item>
    <item name="android:fullDark">@color/orange</item>
    <item name="android:topBright">@color/green</item>
    <item name="android:topDark">@drawable/dialog_header_bg</item>

Les éléments énumérés ci-dessous ne fonctionnent pas (lisez les commentaires, j'ai mis au-dessus de chaque élément):

    <!-- panelBackground is not getting set to null, there is something squarish around it -->
    <item name="android:panelBackground">@null</item>

    <!-- Setting this textColor doesn't seem to have any effect at all. Messages, title, button text color, whatever; nothing changes. -->
    <item name="android:textColor">#000000</item>

    <!-- Also tried with textAppearance, as follows. Didn't work -->
    <item name="android:textAppearance">?android:attr/textColorPrimaryInverse</item>

    <!-- Also tried changing textAppearancePrimary, to no avail -->
    <item name="android:textColorPrimary">#000000</item>

    <!-- Also need to change the dialog title text, tried it as follows, dint work: -->
    <item name="android:windowTitleStyle">@style/DialogWindowTitle</item>
</style>

La DialogWindowTitle est définie comme suit:

<style name="DialogWindowTitle">
    <item name="android:textAppearance">?android:attr/textAppearanceMediumInverse</item>
</style>

De sorte qu'aucun de ceux-ci est de travail. Quelqu'un peut me dire ce que j'ai pu faire de mal, et comment puis-je:

  1. Changer la couleur du texte pour les messages de contenu (texte)
  2. Changer le titre la couleur du texte
  3. Supprimer l'
    panneau de fond

Note: j'ai besoin de soutien API 8 (2.2) vers le haut. Aussi, j'ai suis allé à travers la plupart de la question ici, et de google groupes, mais ne peuvent pas comprendre, mais j'ai le sentiment de son droit, en vertu de mon nez!

Edit: ajout de la capture d'écran:

AlertDialog style - comment changer de style (couleur) de titre, message, etc

  • Pouvez-vous nous fournir une capture d'écran de la façon dont il n'y paraît actuellement?
  • Capture d'écran ajoutés
  • je veux savoir comment vous avez obtenu ces couleurs d'arrière-plan de changement. à l'aide de ce même code, je ne peux pas reproduire une couleur AlertDialog contre les API de niveau 9. avez-vous appliquer le thème ou le style d'une manière particulière? quelle est votre cible et min sdk niveau?
  • bizarre... en quelque sorte, je l'ai eu à travailler et je n'ai aucune idée de comment. merci beaucoup pour ce post, j'ai été de me gratter la tête pendant des heures sur la fin sur ce. pour quiconque recherche, cette question/réponse est définitivement le moyen de personnaliser AlertDialogs dans l'API Android niveaux < 11.
  • ...mais pour une raison quelconque, si j'exécute ce code sur n'importe quel appareil fonctionnant sous Android >= 3.0, la boîte de dialogue couleurs ne changent pas. il semble donc que ce doit être traité de deux manières différentes pour >2.3.3 et <2.3.3... peut-être de séparer les Apk? quel gâchis... ils ont vraiment défoncer ce entre les versions d'Android.
  • Je pense que les propriétés sous DialogStyle sont uniquement à des fins non-fragment du dialogue, c'est pourquoi ils ne fonctionnent pas sur le post en nid d'abeille de périphériques. Vous n'avez pas besoin de plusieurs apk, mais juste pour définir des propriétés supplémentaires pour le fragment du dialogue. Ils ne dérangeront pas les uns les autres, et si ils le feraient, vous pouvez toujours utiliser la ressource de qualification. Jetez un oeil à Dadou réponse pour voir les nouvelles de la boîte de Dialogue thèmes et les styles.

InformationsquelleAutor Aswin Kumar | 2013-04-24