El título personalizado de AlertDialog tiene un borde negro

Tengo un AlertDialog que utilizo una opinión de diálogo de encargo con. La idea de la vista de título personalizado parece bastante simple, pero hay una frontera negra alrededor del título de encargo que no puedo parecer deshacerse de. Los lados superior, izquierdo y derecho tienen un borde de un solo píxel, mientras que el lado inferior tiene alrededor de un borde de 5 píxeles.

Creación del diálogo en Java:

 View titleView = inflater.inflate(R.layout.part_list_item, parent, false); ((TextView) titleView.findViewById(R.id.partName)).setText(titleText); AlertDialog productDialog = new AlertDialog.Builder(getContext()) .setCustomTitle(titleView) .setAdapter(adapter, doNothingClickListener) .create(); 

Diseño de vista de título personalizado, part_list_item.xml :

 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#ff0000" android:id="@+id/partName" android:layout_marginLeft="6dip" android:textAppearance="?android:attr/textAppearanceLargeInverse" /> 

Lo que veo:

Captura de pantalla roto

Lo que quiero ver:

Captura de pantalla fija

¿Algunas ideas?

Prueba esto:

 LayoutInflater inflater = (LayoutInflater)yourClass.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View titleView = inflater.inflate(R.layout.custom_dialog, null); ((TextView) titleView.findViewById(R.id.partName)).setText("Your Title"); alert1.setCustomTitle(titleView); 

Este es el resultado creado por el androide cuando tienes un título en la alerta. Por lo que puedo ver de las capturas de pantalla, el "cuerpo" de la alerta es también una vista personalizada y no la propiedad de mensaje de alerta.

Así que la forma más fácil de obtener el resultado que desea es agregar el diseño del título en la vista personalizada de la alerta.

ejemplo:

 View titleView = inflater.inflate(R.layout.part_list_item, parent, false); View bodyView = .... bodyView.addview(titleView); ((TextView) itleView.findViewById(R.id.partName)).setText(titleText); AlertDialog productDialog = new AlertDialog.Builder(getContext()); productDialog.setView(bodyView); ... productDialog.create(); 

Donde el bodyView.addview(titleView); Añade el diseño del título en su cuerpo de la alerta.

Y el productDialog.setView(bodyView); Establece la vista personalizada como el cuerpo de la alerta.

  • BottomSheetDialog / BottomSheetDialogFragment - ¿qué usar y cómo?
  • Detectar el botón Atrás pero no descartar el diálogo
  • ¿Cuál es la diferencia entre AlertDialog.builder.setView y Dialog.setContentView?
  • El diálogo de búsqueda de Android no funciona
  • ¿Por qué mi ProgressDialog está escuchando en CUALQUIER TECLA (táctil) en lugar de retroceder?
  • Cómo configurar MaxWidth de un cuadro de diálogo Android?
  • Android: Dialog etc restaurar después de la rotación cambiada
  • Android: libera recursos de memoria de mapa de bits de forma programática
  • Show Dialog in Juego con lienzo
  • El método runOnUiThread (Runnable) en el tipo Activity no es aplicable para los argumentos (void)
  • Mostrar un pequeño popup en el punto donde el usuario hace clic en el gráfico (achartengine)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.