2010-10-19 42 views

Respuesta

1

Haga que su TextView llene el elemento primario y asígnele un centro de gravedad.

<TextView ... android:layout_width="fill_parent" android:gravity="center" /> 
+0

Cómo hacer el lo mismo con AlertDialog? –

1

Debería utilizar uno de los constructores proporcionados para AlertDialog en Android, mientras crea uno.

AlertDialog (Contexto context, tema int) Construya un AlertDialog que use un tema explícito.

Este link lo ayudará. Dado que desea que el texto esté centrado, le conviene dar el atributo de gravedad, el valor 'centro'.

77

probar esto

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setTitle("My Title"); 
builder.setMessage("your message"); 
builder.setPositiveButton("OK", null); 
AlertDialog dialog = builder.show(); 
TextView messageText = (TextView)dialog.findViewById(android.R.id.message); 
messageText.setGravity(Gravity.CENTER); 
dialog.show(); 

show this dialog

+0

No pude obtener la forma en que escribió el código – swiftBoy

+8

Puede haber AlertDialog dialog = builder.create(); en lugar de AlertDialog dialog = builder.show(); y dialog.show(); debe moverse 2 líneas arriba de – goRGon

21

sé que este hilo es viejo, pero podría ayudar a algunas personas: D

TextView title = new TextView(this); 
title.setText("Client details not saved!"); 
title.setPadding(10, 10, 10, 10); 
title.setGravity(Gravity.CENTER); 
// title.setTextColor(getResources().getColor(R.color.greenBG)); 
title.setTextSize(23); 

TextView msg = new TextView(this); 
msg.setText("You're going to lose all the information if you continue!"); 
msg.setPadding(10, 10, 10, 10); 
msg.setGravity(Gravity.CENTER); 
msg.setTextSize(18); 

DialogInterface.OnClickListener onClick = new DialogInterface.OnClickListener() { 

    public void onClick(DialogInterface dialog, int which) { 
     if (which == DialogInterface.BUTTON_POSITIVE) { 
      finish(); 
     } 
    } 

}; 

Builder builder = new AlertDialog.Builder(this); 
builder.setCustomTitle(title); 
builder.setView(msg); 
builder.setCancelable(true); 
builder.setPositiveButton("Yes", onClick); 
builder.setNegativeButton("No", onClick); 

AlertDialog dialog = builder.create(); 
dialog.show(); 
+0

Por favor, puede escribir cómo su código es útil y difiere de otras respuestas. Ayudará a las personas a leer su respuesta y determinar si la prueban o no (y pueden ayudarlos a aprender) – Patrick

+0

¿Cómo se agrega el 'title' TextView también en' builder'? –

0

probar este - que va a hacer el truco.

AlertDialog.Builder completeDialog = new AlertDialog.Builder(Main.this); 

TextView resultMessage = new TextView(Main.this); 
resultMessage.setTextSize(22); 
resultMessage.setText("Upload completed!"); 
resultMessage.setGravity(Gravity.CENTER); 
completeDialog.setView(resultMessage); 

completeDialog.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 

    @SuppressLint("DefaultLocale") 
    public void onClick(DialogInterface dialog, int whichButton) { 
     dialog.dismiss();    
    } 

}); 

completeDialog.show(); 
1

La mejor manera es diseñar cuadros de diálogo personalizados.

This Custom alart Dialog

view_dialog_box.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical" 
android:background="#A9E2F3"> 

<TextView 
    android:id="@+id/txtDiaTitle" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="Connection Alart" 
    android:textColor="@color/Black" 
    android:textStyle="bold" 
    android:gravity="center" 
    android:padding="5dp" 
    android:textAppearance="?android:attr/textAppearanceMedium" /> 

<View 
    android:layout_width="match_parent" 
    android:layout_height="1dip" 
    android:background="#2E9AFE" 
    android:layout_marginLeft="10dp" 
    android:layout_marginRight="10dp" 
    /> 

<TextView 
    android:id="@+id/txtDiaMsg" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:padding="5dp" 
    android:text="No Internet Connection" 
    android:textColor="@color/Black" /> 

<Button 
    android:id="@+id/btnOk" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:text="OK" 
    android:textColor="@color/Black" 
    android:textStyle="bold" 
    android:padding="5dp" 
    android:layout_margin="5dp" 
    android:background="@color/White"/> 

Luego se utilizan en el archivo java

final Dialog dialog = new Dialog(context); 
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.setContentView(R.layout.view_dialog_box); 

    // set the custom dialog components - text and button 
    TextView text = (TextView) dialog.findViewById(R.id.txtDiaTitle); 
    TextView image = (TextView) dialog.findViewById(R.id.txtDiaMsg); 

    Button dialogButton = (Button) dialog.findViewById(R.id.btnOk); 
    // if button is clicked, close the custom dialog 
    dialogButton.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      dialog.dismiss(); 

     } 
    }); 
    dialog.show(); 
3

Puede utilizar su diseño personalizado para la disposición de diálogo de alerta. Para alinear alerta predeterminado centro de mensajes disposición de diálogo que puede hacer

 AlertDialog alertDialog; 
     AlertDialog.Builder builder = new AlertDialog.Builder(context); 
     builder.setMessage("hello world"); 
     alertDialog = builder.show(); 
     TextView messageText = (TextView) alertDialog.findViewById(android.R.id.message); 
     messageText.setGravity(Gravity.CENTER); 

tener cuidado, si se establece MessageText con findViewById antes de llamar builder.show() obtendrá una excepción de puntero nulo.

4

sólo tiene que utilizar ese método y el título del diálogo y el mensaje aparecerá en el centro:

openDialog (contexto Contexto, String mensaje) public static void {

TextView title = new TextView(context); 
// You Can Customise your Title here 
title.setText("Information Message"); 
title.setBackgroundColor(Color.BLACK); 
title.setPadding(10, 15, 15, 10); 
title.setGravity(Gravity.CENTER); 
title.setTextColor(Color.WHITE); 
title.setTextSize(22); 

AlertDialog alertDialog = new AlertDialog.Builder(context).create(); 
alertDialog.setCustomTitle(title); 
alertDialog.setMessage(message); 

alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int which) { 

    } 
}); 
alertDialog.show(); 

// You Can Customise your Message here 
TextView messageView = (TextView) alertDialog 
     .findViewById(android.R.id.message); 
messageView.setGravity(Gravity.CENTER); 

}

Cuestiones relacionadas