¿Es posible personalizar los botones positivos y negativos en AlertDialog?
¿Es posible personalizar los botones positivos y negativos en AlertDialog? Tengo que reemplazar el aspecto predeterminado de positivo y negativo con la costumbre.
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {... .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {...
¿Puede alguien decirme cómo hacer eso?
- Cómo cambiar las imágenes predeterminadas de CheckBox
- Manejo Hecho y siguiente de SoftKeypad en android?
- Cómo establecer el ancho que es igual a otro widget en android
- Uso de setImageDrawable dinámicamente para configurar la imagen en un ImageView
- No se encontró ninguna actividad del lanzador. No se puede obtener widget para trabajar
- Rotación a un ImageView, dentro de un RelativeLayout
- Problemas con appwidget appWidgetIds (instancias reales y fantasmas de widget)
- Cómo obtener texto seleccionado de edittext en android?
- Dibujar lienzo en el widget de pantalla de inicio
- Cómo proporcionar diferentes widgets Android para 1.6 y 3.0 +?
- Añadir vista personalizada al diseño xml
- Reproducir video de youtube en WebView
- Animaciones de widget de pantalla de inicio de Android
public class ComentarDialog extends DialogFragment{ @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setMessage("Mensaje de alerta") .setTitle("Comentar") .setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { } }) .setNegativeButton("CANCELAR", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { } }); return builder.create(); } @Override public void onStart() { super.onStart(); //Personalizamos Resources res = getResources(); //Buttons Button positive_button = ((AlertDialog) getDialog()).getButton(DialogInterface.BUTTON_POSITIVE); positive_button.setBackground(res.getDrawable(R.drawable.btn_selector_dialog)); Button negative_button = ((AlertDialog) getDialog()).getButton(DialogInterface.BUTTON_NEGATIVE); negative_button.setBackground(res.getDrawable(R.drawable.btn_selector_dialog)); int color = Color.parseColor("#304f5a"); //Title int titleId = res.getIdentifier("alertTitle", "id", "android"); View title = getDialog().findViewById(titleId); if (title != null) { ((TextView) title).setTextColor(color); } //Title divider int titleDividerId = res.getIdentifier("titleDivider", "id", "android"); View titleDivider = getDialog().findViewById(titleDividerId); if (titleDivider != null) { titleDivider.setBackgroundColor(color); } } }
Si quieres cambiarlos, te sugeriré que utilices la actividad con tu diseño requerido y que los agregues = Diálogo en tu actividad, en el archivo Manifest
Si desea personalizar puede utilizar el diálogo en lugar de diálogo de alerta aquí es el código de ejemplo
final Dialog dialog = new Dialog(ThisweekActivity.this, android.R.style.Theme_Translucent_NoTitleBar); View view = LayoutInflater.from(ThisweekActivity.this).inflate(R.layout.issue_cover_prompt_layout, null); view.findViewById(R.id.close_btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); ImageView img = (ImageView) view.findViewById(R.id.issue_cover_img); img.setImageBitmap(issue.getCoverImage()); dialog.setContentView(view); dialog.show();
Puede establecer establecer el diseño en el cuadro de diálogo y agregar el listner de clics en él
Yuo puede establecer cada vista en el cuadro de diálogo. Usted puede fijar la visión con dos botones y no fijar los botones positivos y negativos.
ejemplo:
AlertDialog.Builder builder = new AlertDialog.Builder(this); View dialogView = LayoutInflater.from(this) .inflate(R.layout.my_layout, null); builder.setView(dialogView);
- Cómo cambiar el color de fondo de TextView a valor inicial
- ¿Hay alguna forma de que los elementos de la interfaz de usuario se superpongan ligeramente (uno encima del otro) sin usar diseños absolutos?