Cambiar el color del marco de la ventana
¿Cómo puedo cambiar el color del marco de este diálogo? He intentado un montón de cosas y nada funciona.
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="CustomDialogTheme" parent="@android:style/Theme.Dialog"> <item name="android:windowNoTitle">true</item> </style> </resources>
¿Quieres decir marco blanco? Creo que es una parte de 9-parche dibujable que puede buscar cómo Theme.Dialog es construir en el SDK_FOLDER \ plataformas \ android-sdkversion \ data \ res \ valores y luego styles.xml y themes.xml
Como he dicho, el marco blanco es una parte de la imagen de fondo. Su panel_background.9.png Así que si desea cambiar el marco – necesitará diferentes imagen de fondo + necesidad de sobrescribir en el estilo de configuración.
<item name="android:windowBackground">@android:drawable/panel_background</item>
Y usted necesitará definir un estilo que sea derivado de Theme.Dialog y tenga esto
<item name="android:windowBackground">@drawable/your_drawable</item>
Así que si usted pone en styles.xml algo como
<style name="NewBorderDialogTheme" parent="android:Theme.Dialog"> <item name="android:windowBackground">@drawable/your_drawable</item> </style>
Ponga el nuevo dibujable y ajuste su actividad al nuevo tema – usted debe ver su nuevo borde
Si lo desea Programar, pruebe el siguiente código:
Lo que tienes que hacer:
Cuando
AlertDialog
está visible en su pantalla,OnShowListener
se llama. Por lo tanto, mediante la adición dedialog.setOnShowListener(this)
usted será capaz de personalizar suAlertDialog
.
Código:
// Create AlertDialog AlertDialog.Builder adb = new AlertDialog.Builder(context1); adb.setTitle(context1.getString(R.string.app_name)) .setMessage(message) .setPositiveButton("Ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); AlertDialog dialog = adb.create(); // Make some UI changes for AlertDialog dialog.setOnShowListener(new DialogInterface.OnShowListener() { @Override public void onShow(final DialogInterface dialog) { // Add or create your own background drawable for AlertDialog window Window view = ((AlertDialog)dialog).getWindow(); view.setBackgroundDrawableResource(R.drawable.your_drawable); // Customize POSITIVE, NEGATIVE and NEUTRAL buttons. Button positiveButton = ((AlertDialog)dialog).getButton(DialogInterface.BUTTON_POSITIVE); positiveButton.setTextColor(context1.getResources().getColor(R.color.primaryColor)); positiveButton.setTypeface(Typeface.DEFAULT_BOLD); positiveButton.invalidate(); Button negativeButton = ((AlertDialog)dialog).getButton(DialogInterface.BUTTON_NEGATIVE); negativeButton.setTextColor(context1.getResources().getColor(R.color.primaryColor)); negativeButton.setTypeface(Typeface.DEFAULT_BOLD); negativeButton.invalidate(); Button neutralButton = ((AlertDialog)dialog).getButton(DialogInterface.BUTTON_NEUTRAL); neutralButton.setTextColor(context1.getResources().getColor(R.color.primaryColor)); neutralButton.setTypeface(Typeface.DEFAULT_BOLD); neutralButton.invalidate(); } });