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:
- android setOnClickListener da una excepción de puntero nulo?
- Cómo obtener el tamaño de un cuadro de diálogo personalizado en android?
- Establecer contentDescription para un diálogo personalizado
- Animar un cuadro de diálogo personalizado
- Aplicar un estilo a todos los diálogos (diálogo giratorio, diálogo de alertas, etc.)
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:
Lo que quiero ver:
¿Algunas ideas?
- ¿Cómo eliminar márgenes de diálogo?
- Android IllegalArgumentException para dismissDialog
- ¿Cerrar diálogo Android después de 5 segundos?
- Establecer la fuente personalizada (TypeFace) en el diálogo en Android
- Cómo cambiar el cuadro de diálogo de alerta divider color android
- ¿Alguna manera indolora de activar el teclado virtual para EditText en diálogos?
- SetSoftInputMode para un cuadro de diálogo para no ocultar EditText al escribir?
- ¿Cómo puedo pasar valores entre un cuadro de diálogo y una actividad?
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.
- Error: el paquete com.google.android.gms.ads no existe
- MediaPlayer.seekTo () no busca posicionarse en Android