web-dev-qa-db-fra.com

Thème / couleur d'arrière-plan de la boîte de dialogue d'alerte

Je veux définir le thème AlertDialogue ou changer la couleur d'arrière-plan.

Bien que je sache qu'il a un thème par défaut, mais dans une version différente, j'obtiens un thème différent, donc je veux le corriger pour toutes les versions.

Ou changez simplement la couleur d'arrière-plan en blanc

 @NonNull
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        final SimpleAdapter adapter = new SimpleAdapter(getContext(), imagesWithNames, R.layout.lib_dialog_image,
                new String[]{"name", "imageID","Spacing"}, new int[]{R.id.text1, R.id.image1,R.id.spacing});
        return new AlertDialog.Builder(getContext()).setAdapter(adapter,
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        ((PlaceCallActivity) getContext()).OnSelected(WithNamesFragment.this.getClass(), (int) ((HashMap<String, Object>) adapter.getItem(i)).get("imageID"));
                    }
                }).setCancelable(true).setTitle("PICK YOUR AVATAR").setNegativeButton("Cancel",new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss();
            }
        }).create();
    }

Ne postez pas votre code, veuillez indiquer où je dois apporter une modification ici.

AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.AlertDialogCustom));

Remarque: La ligne ci-dessus le ferait mais je veux savoir où je dois donner du style pour mon AlertDialogue

enter image description here

7
SamH67

Créez votre style dans votre styles.xml fichier comme suit.

<style name="AlertDialogCustom" parent="@Android:style/Theme.Dialog">
        <item name="Android:textColor">@color/White</item>
        <item name="Android:textStyle">bold</item>
        <item name="Android:headerDividersEnabled">true</item>
        <item name="Android:typeface">normal</item>
        <item name="Android:background">@color/colorPrimaryDark</item>
    </style>

Ensuite, créez Alert Dialog en utilisant Builder comme suit

AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this/getActvity(), R.style.AlertDialogCustom));

Ici en passant le contexte et le style de la classe courante au constructeur de classe ContextThemeWrapper.

14
Saurabh Bhandari

Vous devez ajouter un style de dialogue dans res/values ​​/ styles.xml. Comme ci-dessous.

<style name="MyDialog" parent="@Android:style/Theme.Holo.Light.Dialog">
        <item name="Android:background">@color/white</item>
    </style>

Ou vous changez la couleur d'arrière-plan comme ci-dessous également:

MODIFIER:

 getWindow().setBackgroundDrawableResource(R.color.white);
3
Ankita Shah