Hay alguna forma de hacer que mi cuadro de Diálogo vista de pantalla completa, yo.e de diálogo ocupar toda la pantalla (como una Actividad). He intentado utilizar la LayoutParams y estilos como el
<item name="android:windowFullscreen">true</item> pero nada parece funcionar.

He encontrado una forma de deshacerse de la barra de Título, pero no podía encontrar una manera de poner un cuadro de diálogo en pantalla completa. Así puede cualquiera me sugieren una manera de hacerlo.

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="@android:style/Theme.Dialog">
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowFrame">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowBackground">@color/dialog_background</item>
</style>
</resources>
  • Puede publicar su diálogo personalizado archivo xml o código personalizado?
  • ¿Por qué no acaba de uso Activity?
  • Su estilo trabajado para mí
InformationsquelleAutor Bob | 2012-04-16

11 Comentarios

  1. 89

    Dar su constructor un no-tema del diálogo, como android.R.de estilo.Tema o android.R.de estilo.Theme_Light.

    Código por @Bob.

    Dialog dialog = new Dialog(context, android.R.style.Theme_Light); 
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.setContentView(R.layout.MyCustomDialogLayout); 
    dialog.show();
    • Esto funciona muy bien. el Diálogo viene en pantalla completa con cualquier fronteras. gracias…
    • Voy a poner el código para utilizar este. Dialog dialog = new Dialog(context, android.R.style.Theme_Light); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.MyCustomDialogLayout); dialog.show();
    • Su gran! Para NoTitle pantalla completa diálogo usé «@android:/estilo del Tema.Negro.NoTitleBar» como mi diálogo el tema de los padres.
    • Esto funciona muy bien para ese propósito (de diálogo pantalla completa), sin embargo la propiedad cancelable ya no funciona. Alguna idea?
    • Funciona como un encanto. Gracias por compartir
    • Gran Solución…!
    • android.R.de estilo.Theme_DeviceDefault_Dialog_MinWidth utilizar esto para un ancho mínimo de dispositivo.
    • gran solución. Gracias Hombre…

  2. 31

    Siguiente código funciona en mi caso :

    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.setContentView(R.layout.mydialog2);
    dialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
    • He intentado esto pero no funciona en mi código, no podía encontrar la razón por qué. Pero el Renard código funciona a la perfección.
    • A mí me funcionó
    • cuadro de diálogo.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); trabajó para mí
  3. 17

    Probar este

    dialog = new Dialog(context,android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
    • F*cking gracias. Mejor respuesta hasta ahora. Trabajó para mí (me estaba haciendo una subclase personalizada)
    • mejor respuesta thankz hombre 🙂
    • Dialog dialog = new Dialog(this, LayoutParams.MATCH_PARENT);
  4. 2

    1.personalizado a su estilo de diálogo

    HTML:

     <style name = "MyDialog" >
            <item name="android:windowNoTitle">true</item>
            <item name="android:windowFullscreen">true</item>
            <item name="android:windowIsTranslucent">true</item>
            <item name = "android:windowContentOverlay" >@null</item >
            <item name = "android:colorBackgroundCacheHint" >@null</item >
            <item name = "android:backgroundDimEnabled">true</item>
            <item name = "android:windowBackground" >@android:color/transparent</item >
        </style >

    2 :personalizar el cuadro de diálogo

    HTML:

    WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
                int width = wm.getDefaultDisplay().getWidth();
                int height = wm.getDefaultDisplay().getHeight();
                final Dialog dialog = new Dialog(this, R.style.MyDialog);
                View view = LayoutInflater.from(this).inflate(R.layout.layout_dialog, null);
    
                WindowManager.LayoutParams params = dialog.getWindow().getAttributes();
                params.width = WindowManager.LayoutParams.MATCH_PARENT;
                params.height = WindowManager.LayoutParams.WRAP_CONTENT;
    
                dialog.setContentView(view);
                dialog.getWindow().setGravity(Gravity.BOTTOM);
                dialog.getWindow().setWindowAnimations(R.style.mydialog_Style);
                dialog.show();

  5. 2

    Para pantalla completa diálogo debe extender DialogFragment proporcionará Fragment ciclo de vida de los métodos y esta es la forma recomendada en Android desarrollador de documentos que se pueden utilizar sencillos Dialog o AlertDialog también.

    Al crear instancia de diálogo sólo uso android.R.style.Theme_Black_NoTitleBar_Fullscreen tema con el contexto como este :

    Dialog dialog = new Dialog(getActivity(), android.R.style.Theme_Black_NoTitleBar_Fullscreen);

    o

    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), android.R.style.Theme_Black_NoTitleBar_Fullscreen);

    Esto mostrará el cuadro de diálogo en pantalla completa.

  6. 1

    La respuesta no me funciona(sdk 21, samsung galaxy s5). Después de buscar y probar, me parece que el punto clave para la configuración de un cuadro de diálogo para pantalla completa es el <item name="android:windowIsFloating">false</item> en el cuadro de diálogo estilo. La mayoría de los estilos de cuadro de Diálogo en el sdk de conjunto es cierto! Establecer falso en un estilo y en

    AlertDialog.Builder = new AlertDialog.Builder(getActivity(), R.style.YourStyle);

    su estilo puede parecer

    <style name="YourStyle">
        <item name="android:windowIsFloating">false</item>
        ...
    </style>

    después de su creación falsa, debe ser a pantalla completa. Y más, usted puede utilizar

    dialog.getWindow.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);

    para establecer la altura a wrap_content.
    Espero ayudar a alguien.

    • A mí me funcionó. Gracias @Asslstne
  7. 1

    Tratar de envolver su dialog_custom_layout.xml en RelativeLayout . Que trabajó para mí.

  8. 0

    prueba este código

    protected void openDialog() {
            Dialog dialog = new Dialog(this);
            dialog.addContentView(new View(this), (new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)));
            dialog.show();
        }
    • crear un diseño para su diálogo y reemplazar «nueva Vista(este)» con tu diseño
    • He intentado esto pero no funciona.
    • llamar a este método desde su actividad y aquí «este» es el contexto de su trabajo bien para mí
  9. 0

    Estoy usando una Actividad con el tema del Diálogo. En este caso, a pantalla completa trabajado de esta manera:

    int mUIFlag = View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
    
    @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            getWindow().getDecorView().setSystemUiVisibility(mUIFlag);
    
            getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
            setContentView(R.layout.lockscreen_activity);
    }
  10. 0

    Crear su Costumbre de Diálogo como

    Dialog dialog = new Dialog(context, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
  11. 0

    Aquí están los pasos de cómo crear una pantalla de diálogo con el diseño personalizado que ocupa toda la pantalla sin ningún tipo de relleno en cada sitio.

    Paso 1: Definir su diálogo personalizado diseño denominado layout_fullscreen_dialog.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/colorPrimary">
    
        <!-- Your dialog content here -->
    
    </LinearLayout>

    Paso 2: Definir un nuevo estilo en styles.xml nombre FullScreenDialog

    <style name="FullScreenDialog" parent="Theme.AppCompat.Dialog">
        <item name="android:windowBackground">@android:color/transparent</item>
    </style>

    Paso 3: Escribir un método que crea y muestra un cuadro de diálogo

    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            createAndShowDialog(this);
        }
    
        //This method used to create and show a full screen dialog with custom layout.
        public void createAndShowDialog(Context context) {
            Dialog dialog = new Dialog(context, R.style.FullScreenDialog);
            dialog.setContentView(R.layout.layout_fullscreen_dialog);
    
            WindowManager.LayoutParams layoutParams = dialog.getWindow().getAttributes();
            dialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
            dialog.getWindow().setAttributes(layoutParams);
            dialog.show();
        }
    }

Dejar respuesta

Please enter your comment!
Please enter your name here