¿Cómo puedo personalizar el diseño de cabecera de un cuadro de diálogo
-
20-09-2019 - |
Pregunta
En Android, es posible personalizar el diseño de cabecera (el icono + un texto) diseño de un diálogo? O puedo establecer un valor de cadena personalizada del texto del título?
Gracias.
Solución
Es posible cambiar el título del diálogo si se establece un diseño personalizado, tanto para el diálogo y la cabecera. Sólo he utilizado este método para eliminar la cabecera del todo, pero esto se debe trabajar para un encabezado personalizado:
dialog = new Dialog(context);
Window window = dialog.getWindow();
window.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
dialog.setContentView(R.layout.my_dialog_layout);
window.setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.my_custom_header);
Todo esto es un poco más complicado (como usted tiene que configurar el diseño del cuadro de diálogo también) pero es más fácil que la subclasificación de diálogo.
Otros consejos
la clase de diálogo original parece carecer de la capacidad de fijar un icono, pero se puede ampliar fácilmente AlertDialog y establecer una vista personalizada (el mismo que se uso para la instancia de diálogo), sólo necesita algo como esto
class MyDialog extends AlertDialog {
public MyDialog(Context ctx) {
super(ctx);
LayoutInflater factory = LayoutInflater.from(context);
View view = factory.inflate(R.layout.dialog_layout, null);
setView(view);
setTitle("MyTitle");
setIcon(R.drawable.myicon);
}
}