ventanas tipos studio personalizado emergentes edittext dialogos dialogo crear con como android appcompat android-dialogfragment android-dialog appcompat-v7-r23

android - tipos - Manera correcta de hacer un diálogo de material personalizado con appCompat 23+



tipos de dialogos en android studio (2)

El Segundo Enfoque es mejor porque es una versión especial de DialogFragment que usa un DiálogoAprograma de Aplicación en lugar de un diálogo de estilo de plataforma. AppCompatDialogFragment es la subclase de DialogFragment y heredará todas las propiedades de DialogFragment .

Ok, estoy realmente confundido aquí sobre cómo hacer un diálogo personalizado correctamente usando la última versión de compcomp v23.0.1 Aquí hay un par de maneras

Primera forma:

public class AddTipDialogFrag extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { int title = getArguments().getInt("title"); AppCompatDialog dialogCompat = new AppCompatDialog(getActivity(), R.style.MyAlertDialogStyle); dialogCompat.setTitle(title); //doesn''t work btw dialogCompat.setContentView(R.layout.add_tip_fragment); return dialogCompat; } }

2ª vía:

public class AddTipDialogFrag extends AppCompatDialogFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.add_tip_fragment,container, false); int title = getArguments().getInt("title"); getDialog().setTitle(title); return view; } }

Ambas formas parecen producir el mismo resultado. Personalmente, prefiero la primera vía, sin embargo, hay un problema con el efecto de onda en el que se corta cuando finaliza el borde de vista de cliente, como puede ver en la imagen de abajo.

¿Es esto un error? (¡Debe ser!) ¿Puedo arreglarlo o simplemente debo convertir a la segunda forma? (Que funciona bien con el efecto de onda). ¿Cuál es el mejor enfoque entre esas 2 formas considerando que la mayoría de las bibliotecas de diálogo de material están utilizando la primera forma?

EDITAR: la falla de onda en la primera forma ya no parece ocurrir, así que todavía no estoy seguro de cuál es la forma correcta de esas dos.


El segundo enfoque parece mejor a medida que AppCompatDialogFragment extiende DialogFragment y hace todo el trabajo pesado por ti. También se ve más limpio con la abstracción de detalles innecesarios (en línea con OOP).

También da efecto deseado;)