Tengo una tarea para cambiar el AlertDialog alto y ancho, xml,quiero hacer que se convierten en el estilo,así que la voy a usar fácil.Y que ,necesito cambiar el botón de AlertDialog estilo también.Me puede decir una manera de lograr el objetivo。Gracias Muy agradecido。
PS,me gustaría alcanzar mejor el objetivo por el cambio xml。

Puede tener algo como esto stackoverflow.com/questions/1979369/…
userIsAMonkey,muchas gracias,he pensado acerca del uso de la Actividad como un diálogo,pero se queda a mi tarea mediante el diálogo. porque hay muchos de diálogo esperar para mostrar.Queremos tener un estilo de fácil mostrar。gracias,también。

OriginalEl autor oldfox3721 | 2012-08-08

2 Comentarios

  1. 18

    Hay dos métodos 1) a través de programación 2) mediante el uso de xml de diseño

    1)=======>
    
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setView(layout);
    builder.setTitle("Title");
    alertDialog = builder.create();
    alertDialog.show();
    alertDialog.getWindow().setLayout(600, 400); //Controlling width and height.
    
    
                             ( or )
    
    alertDialog.show();
    WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
    
    lp.copyFrom(alertDialog.getWindow().getAttributes());
    lp.width = 150;
    lp.height = 500;
    lp.x=-170;
    lp.y=100;
    alertDialog.getWindow().setAttributes(lp);

    Si quieres mostrar la disposición a mostrarse como Alert dialog ver este

    2)========>

    choose.xml

    <TextView
        android:id="@+id/img"
        android:layout_width="wrap_content"
        android:text="@string/choose"
        android:textSize="25dp"
        android:textColor="#fff"
        android:layout_height="50dp"/>
    
    <TableLayout android:id="@+id/table"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#fff"
        android:orientation="vertical">
    
        <TableRow
            android:id="@+id/tr1" 
            android:orientation="horizontal"
            android:layout_margin="10dp">
            <ImageView 
                android:contentDescription="@string/phone"
                android:src="@drawable/phone"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"/>
            <TextView
                android:id="@+id/phnText"
                android:layout_width="wrap_content"
                android:text="@string/phone"
                android:gravity="left|center_vertical"
                android:layout_marginLeft="10dp"
                android:textSize="25dp"
                android:textColor="#000"
                android:layout_height="50dp"/>
        </TableRow>
        <View
                android:layout_width="fill_parent"
                android:layout_height="1dip"
                android:background="#FF000000" />
    
        <TableRow
            android:id="@+id/tr2" 
            android:orientation="horizontal"
            android:layout_margin="10dp">
            <ImageView 
                android:contentDescription="@string/sms"
                android:src="@drawable/sms"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"/>
            <TextView
                android:id="@+id/smsText"
                android:layout_width="wrap_content"
                android:text="@string/sms"
                android:gravity="left|center_vertical"
                android:layout_marginLeft="10dp"
                android:textSize="25dp"
                android:textColor="#000"
                android:layout_height="50dp"/>
        </TableRow>
    
    </TableLayout>
    </LinearLayout>

    la pantalla esta como emergente como se indica a continuación

     private void showPopUp()
    {
        final AlertDialog.Builder helpBuilder = new AlertDialog.Builder(this);
        helpBuilder.setTitle("");
    
        LayoutInflater inflater = getLayoutInflater();
        final View checkboxLayout = inflater.inflate(R.layout.choose, null);
        helpBuilder.setView(checkboxLayout);
    
        final AlertDialog helpDialog = helpBuilder.create();
        helpDialog.show();
    
        TableRow tablerowPhone  =    (TableRow)checkboxLayout.findViewById(R.id.tr1);
        TableRow tablerowSms    =    (TableRow)checkboxLayout.findViewById(R.id.tr2);
    
        tablerowPhone.setOnClickListener(new OnClickListener() {
    
            public void onClick(View v) {
    
                helpDialog.dismiss();
    
                Uri callUri = Uri.parse("tel:" + listview_array[4]);  
                Intent intent = new Intent(Intent.ACTION_CALL, callUri); 
                startActivity(intent);
            }
        });
    
        tablerowSms.setOnClickListener(new OnClickListener() {
    
            public void onClick(View v) {
    
                helpDialog.dismiss();
    
                Uri smsUri = Uri.parse("sms:" + listview_array[4]);  
                Intent intent = new Intent(Intent.ACTION_VIEW, smsUri); 
                startActivity(intent);
            }
        });
    }

    llamar a este showPopUp() método donde quieras. así que usted puede ajustar la altura y la anchura a la disposición en el archivo xml de

    Gracias mucho.De esta manera puede hacerlo,pero quiero hacerlo mediante el archivo xml.porque quiero configurar el xml de mi solicitud.¿tiene usted una manera de hacerlo mediante el archivo xml? Gracias de nuevo y de nuevo。

    OriginalEl autor Ram kiran

  2. 1

    Probar esto, esto funciona para mí,

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setView(layout);
    builder.setTitle("Title");
    alertDialog = builder.create();
    alertDialog.getWindow().setLayout(600, 400); //Controlling width and height.
    alertDialog.show();

    OriginalEl autor Chathura Jayanath

Dejar respuesta

Please enter your comment!
Please enter your name here