¿Cómo crear un cuadro de diálogo personalizado en Android?

Quiero crear un cuadro de diálogo personalizado como abajo

He intentado las siguientes cosas.

Creé una subclase deAlertDialog.Builder y usó un Título personalizado y una Vista de contenido personalizada y usó eso, pero el resultado no fue el esperado.

Otro intento fue subclase.DialogFragment y personalice el diálogo dentro de onCreateDialog que, pero el resultado no fue el esperado.

Entonces intenté usar una llanuraDiálogo clase. El resultado no fue el esperado.

En los tres casos, el problema es que cuando se pasa por alto la vista de título, el tamaño del cuadro de diálogo no es el esperado y cuando uso la vista Título, el resultado es un borde grueso alrededor de la vista de contenido (que realmente se ve mal). Ahora tengo dos preguntas en mi mente ...

¿Cómo puedo lograr eso? Como ya he intentado tantas cosas, una respuesta directa será más apreciada.

¿Cuál es la mejor manera de mostrar un diálogo de error o alerta en una aplicación de Android?

EDITAR Documentación para desarrolladores de Android recomienda que utilicemos DialogFragments o Diálogos para mostrar mensajes de error / alerta al usuario. Sin embargo, en un momento dado dicen ...

Sugerencia: si desea un cuadro de diálogo personalizado, puede mostrar una Actividad como un cuadro de diálogo en lugar de usar las API de diálogo. Simplemente cree una actividad y establezca su tema en Theme.Holo.Dialog en el elemento manifest.

¿Cuál es el significado de eso? ¿No es demasiado usar una actividad solo para mostrar un mensaje de error?

Respuestas a la pregunta(16)

Su respuesta a la pregunta