Estoy trabajando en la aplicación donde quería mostrar el cuadro de diálogo para el tamaño de la pantalla. Así que he usado el código de abajo.Tengo la solución a través de aquí Alerta de mensaje no se muestra en el cuadro de diálogo de alerta?

 AlertDialog.Builder builder = new AlertDialog.Builder(this);
TextView title = new TextView(this);
title.setText("DM2");
title.setBackgroundColor(Color.DKGRAY);
title.setPadding(10, 10, 10, 10);
title.setGravity(Gravity.CENTER);
title.setTextColor(Color.WHITE);
title.setTextSize(20);
TextView text = new TextView(this);  
text.setText("Hello This text");  
text.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
text.setTextSize(20);        
text.setGravity(Gravity.CENTER);
//Creates a linearlayout layout and sets it with initial params
LinearLayout ll = new LinearLayout(this);
ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
ll.setGravity(Gravity.CENTER);
ll.addView(text); 
builder.setCustomTitle(title);
builder.setPositiveButton(
"Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
}
}); 
Dialog d = builder.setView(ll).create();
//Fills up the entire Screen
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(d.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.FILL_PARENT;
lp.height = WindowManager.LayoutParams.FILL_PARENT;
d.show();
d.getWindow().setAttributes(lp); 

Pero quiero cuadro de diálogo para que apareció en el centro de la alineados. Ahora es la pantalla en la parte superior de la ventana.
He probado con lp.garvity = Gravedad.el centro, pero no funcionó.
y Si el dispositivo de los cambios de orientación, necesito pulse el botón aceptar más tiempo para cerrar el cuadro de diálogo. Cómo solucionar este problema?

Gracias de antemano
Pushpa

intenta escribir d.getWindow().setAttributes(lp); antes de d.show(); ?
Lo intenté, pero no se mostrará el cuadro de alerta al tamaño de la ventana

OriginalEl autor pushpa | 2012-05-04

5 Comentarios

  1. 6

    Estoy poco tarde, pero mejor tarde que nunca 🙂
    usted puede utilizar el código siguiente: (vi también aquí)

    dialog = new Dialog(activity, android.R.style.Theme_Translucent_NoTitleBar);
    dialog.setContentView(R.layout.activity_upload_photo_dialog);
    Window window = dialog.getWindow();
    window.setLayout(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    window.setGravity(Gravity.CENTER);
    //The below code is EXTRA - to dim the parent view by 70%
    LayoutParams lp = window.getAttributes();
    lp.dimAmount = 0.7f;
    lp.flags = LayoutParams.FLAG_DIM_BEHIND;
    dialog.getWindow().setAttributes(lp);
    //Show the dialog
    dialog.show();

    Espero que me ayudó…

    OriginalEl autor Woody

  2. 3

    Esto funciona para mí:

    lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
    gracias, Pero esto no funciona.
    hola intente centro de gravedad mediante el ajuste de la altura a wrap_content
    He intentado esto mostrará el cuadro de diálogo en el centro, tengo la vista con 3 botones en el fondo y desea ocultar que ver. la altura de la envoltura de contenido no ocultar el fondo de la vista.
    hola en ese caso, puede hacer que el fondo de su emergente no es transparente se puede utilizar getWindow().setBackgroundDrawableResource(android.R.color.negro);
    trabajó para mí, gracias!

    OriginalEl autor Niraj Gupta

  3. 1

    Tal vez esto funciona:

    WindowManager.LayoutParams WMLP = dialog.getWindow().getAttributes();
    WMLP.gravity = Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL
    dialog.getWindow().setAttributes(WMLP);
    Perroloco: gracias la he probado pero no funciona

    OriginalEl autor Sebastian Breit

  4. 0

    Trate de usar android:layout_gravity=»center» en lugar de android:gravity=»center»… puede ser útil para usted..

    android:layout_gravity="center" 

    o

    que usted puede probar esto..

        <activity android:theme="@android:style/Theme.Dialog"
    android:name=".Splash">
    </activity>

    Escriba el código xml y hacer sencilla Actividad y agregar un atributo en
    AndroidManifest.xml, cuando el registro de su Actividad en
    AndroidManifest.xml

    He probado con esto pero no funciona
    Para cuadro de diálogo personalizado que usted puede hacer una cosa, Hacer que toda la pantalla como pantalla de Actividad, y agregar el Theme:@dialog en AndroidManifest.xml.. que todo su contenido se mostrará en un cuadro de diálogo.

    OriginalEl autor vishesh chandra

  5. 0

    Nota :- Esto es para «diseño personalizado«… 🙂

    Yo estaba luchando con el mismo, y después de luchar durante horas llegué a este resultado

    Antes yo era la creación de la dilaoge como esta : –

     final Dialog dialog = new Dialog(PopupforeditActivity.this);

    Después de la adición de estilo «No hay barra» comenzó a bajarse el diseño de la forma en que me había creado.

    Para ello tienes que crear el diseño con parámetros «fillParent»
    y crear el diálogo como este

        final Dialog dialog = new Dialog(PopupforeditActivity.this,android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
    dialog.setContentView(R.layout.dialog_billing_cart);
    dialog.setCancelable(true);

    La de arriba es la parte de codificación

    Que en Layout parte
    pon tu diseño en RelativeLayout

    y darle a su propiedad layout android:layout_centerInParent="true"

    Ex:-

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/transparent" >
    <!--Your Layout-->
    <ScrollView
    android:id="@+id/scrlView_FormHolder"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_marginBottom="10dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp" >
    </ScrollView>
    </RelativeLayout>

    Y si usted no querrá perderse «título» Usted puede tener que en el diseño personalizado de TextView como ..

    La esperanza de que va a ayudar..
    Como me ayudó 🙂

    OriginalEl autor DeltaCap019

Dejar respuesta

Please enter your comment!
Please enter your name here