android 7.1.1上的自定义对话框工作错误

android 7.1.1上的自定义对话框工作错误,android,Android,嗨,我正在android中使用自定义对话框, 我的代码: public void generarDialogoParametros(String titulo, boolean llamaNumero) { Dialog dialogo = new Dialog(context,R.style.AlertDialogTheme); dialogo.requestWindowFeature(Window.FEATURE_NO_TITLE); dialogo.setConte

嗨,我正在android中使用自定义对话框, 我的代码:

public void generarDialogoParametros(String titulo, boolean llamaNumero) {
    Dialog dialogo = new Dialog(context,R.style.AlertDialogTheme);
    dialogo.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialogo.setContentView(R.layout.dialogo_parametros);
    dialogo.setTitle(titulo);
    TextView spo2 = (TextView) dialogo.findViewById(R.id.editTextSPO2);
    TextView pulsobajo = (TextView) dialogo.findViewById(R.id.editTextPulsoAlto);
    TextView pulsoalto = (TextView) dialogo.findViewById(R.id.editTextPulsoBajo);
    Button guardar = (Button) dialogo.findViewById(R.id.btnAceptarParametros);
    Button cancelar = (Button) dialogo.findViewById(R.id.btnCancelarParametros);
    spo2.setText(preferencias.getSPO2() + "");
    pulsoalto.setText(preferencias.getPulsoAlto() + "");
    pulsobajo.setText(preferencias.getPulsoBajo() + "");
    guardarParametrosNuevos(guardar,cancelar, dialogo, spo2, pulsoalto, pulsobajo, llamaNumero);
    dialogo.show();
    dialogo.setCancelable(false);
}
在android 4,5,6中,其工作原理如下:

但是在7+


我不知道,我如何修复它可以帮助我吗?

尝试使用下面的代码以编程方式设置对话框的高度和宽度

    public void generarDialogoParametros(String titulo, boolean llamaNumero) {
            Dialog dialogo = new Dialog(context,R.style.AlertDialogTheme);
            dialogo.requestWindowFeature(Window.FEATURE_NO_TITLE);
            dialogo.setContentView(R.layout.dialogo_parametros);
            Window window = dialogo.getWindow();
            window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);
            window.setGravity(Gravity.CENTER);
            dialogo.setTitle(titulo);
            TextView spo2 = (TextView) dialogo.findViewById(R.id.editTextSPO2);
            TextView pulsobajo = (TextView) dialogo.findViewById(R.id.editTextPulsoAlto);
            TextView pulsoalto = (TextView) dialogo.findViewById(R.id.editTextPulsoBajo);
            Button guardar = (Button) dialogo.findViewById(R.id.btnAceptarParametros);
            Button cancelar = (Button) dialogo.findViewById(R.id.btnCancelarParametros);
            spo2.setText(preferencias.getSPO2() + "");
            pulsoalto.setText(preferencias.getPulsoAlto() + "");
            pulsobajo.setText(preferencias.getPulsoBajo() + "");
            guardarParametrosNuevos(guardar,cancelar, dialogo, spo2, pulsoalto, pulsobajo, llamaNumero);
            dialogo.show();
            dialogo.setCancelable(false);
        }

我在两天前就遇到了同样的问题。在我的例子中,我使用线性布局作为父布局,通过使用RelativeLayout而不是线性布局来修正它。你可以试试这个。希望这对您有所帮助。@BhoomikaPatel您可能是对的,但它也可以通过使用
窗口
以编程方式设置对话框的宽度和高度来实现。请参阅此链接:@Prem是的,您可以,但在大多数情况下它不起作用。这就是我给你这个解决方案的原因。:)但在大多数情况下,它都不起作用。在所有情况下,它都起作用@BhoomikaPatel