from custom codepath activity android

custom - input dialog fragment android



Android: ¿cómo alinear el mensaje en alertDialog? (8)

Tengo que alinear el texto por el medio en el diálogo de alerta de Android. pero no puedo encontrar la manera ... ¿alguien sabe cómo esto?


Haga que su TextView llene al padre y le dé una gravedad central.

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


Intenta esto - hará 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();


La mejor manera es diseñar un cuadro de diálogo personalizado.

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 usa 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();


Puede utilizar su diseño personalizado para el diseño de diálogo de alerta. Para alinear el cuadro de mensajes de alerta predeterminado, el centro de mensajes 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);

Tenga cuidado, si establece messageText con findViewById antes de llamar a builder.show () obtendrá una excepción de puntero nulo.


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();


Simplemente use ese método y su título y mensaje de diálogo aparecerán en el centro:

openDialog vacío estático público (contexto de contexto, mensaje de cadena) {

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);

}


Tendría que usar uno de los constructores provistos para AlertDialog en Android, mientras crea uno.

AlertDialog (contexto de contexto, tema int) Construye un AlertDialog que use un tema explícito.

Este link te ayudará. Dado que desea que el texto esté centrado, le gustaría dar el atributo de gravedad, el valor ''centro''.


prueba 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();