web-dev-qa-db-fra.com

android Theme.Holo.Dialog changeant les lignes bleues en orange

Couleur par défaut pour les lignes sur Android Theme.Holo.Dialog sont bleus. J'aimerais savoir comment changer cela en une autre couleur. Orange dans mon cas

Je peux changer le texte ou l'arrière-plan, etc. ou vérifier le thème avec un style.xml personnalisé

   <style name="Theme.MyTheme" parent="@Android:style/Theme.Holo.Dialog" >
        <item name="Android:textColor">@color/coloroscuro</item>
        <item name="Android:textColorHint">@color/coloroscuro</item>
   </style>

mais je ne sais pas quelle propriété gère la couleur des lignes

Je veux dire les lignes bleues que le thème a par défaut comme celles montrées sur cette autre question:

Comment faire Android Boutons de la boîte de dialogue de style Holo Theme

Tx

31
butelo

Il suffit de fouiller dans la source pour vous - malheureusement, la ligne de séparation dans les mises en page de la boîte de dialogue est une vue avec un arrière-plan de couleur codé en dur qui ne fait référence à aucun thème:

<View Android:id="@+id/titleDividerTop"
  Android:layout_width="match_parent"
  Android:layout_height="2dip"
  Android:visibility="gone"
  Android:background="@Android:color/holo_blue_light" />

Donc, si vous voulez changer la couleur, vous devrez mettre en page votre propre boîte de dialogue personnalisée. pour vous faciliter la tâche, il ne ferait pas de mal de simplement copier à partir de la base source Android) et de la personnaliser selon vos besoins, mais vous pourriez aussi obtenir beaucoup plus que ce dont vous avez besoin.

25
JRaymond

une astuce consiste à utiliser une boîte de dialogue sans barre de titre, d'où Android ne trace pas la ligne, puis en ajoutant le titre et la ligne vous-même dans le fichier xml de mise en page de la boîte de dialogue! par exemple:

<style name="myDialogStyle" parent="Android:style/Theme.Holo.Dialog">
    <item name="Android:windowNoTitle">true</item>
</style>

en usage manifeste:

    <activity
        Android:name=".Activity.Mydialog"
        Android:theme="@style/myDialogStyle" >
    </activity>

et dans votre mise en page Mydialog définissez le titre et alignez-vous avec la couleur et le style souhaités!

à votre santé!

2
Navid Einackchi