Ich möchte, dass der Nachrichtentext in meinem Dialogfeld mittig ausgerichtet ist.
68
Erstellen Sie Ihr eigenes TextView-Objekt und geben Sie es als Ansicht an den Popup-Builder weiter:
AlertDialog.Builder popupBuilder = new AlertDialog.Builder(this);
TextView myMsg = new TextView(this);
myMsg.setText("Central");
myMsg.setGravity(Gravity.CENTER_HORIZONTAL);
popupBuilder.setView(myMsg);
Sie können alle anderen Textparameter (Stil, Farbe, Größe ...) steuern. Um die Ränder zu steuern, können Sie LinearLayout programmgesteuert erstellen, LayoutParams festlegen und dann TextView einfügen.
Natürlich können Sie jederzeit die Schwerkraft der Originaltextansicht einstellen. So müssen Sie sich keine Gedanken über Formatierung und Auffüllen machen.
Zum Beispiel
AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Title"); builder.setMessage("Message"); builder.setPositiveButton("OK", null); AlertDialog dialog = builder.show(); // Must call show() prior to fetching text view TextView messageView = (TextView)dialog.findViewById(android.R.id.message); messageView.setGravity(Gravity.CENTER);
quelle
button1
,button2
undbutton3
jeweilsAufbauend auf Chases Antwort können Sie hier auch den Titel zentrieren. Ich denke, das ist der einfachste Weg. Warum Android nicht standardmäßig zentriert oder zu einem einfachen Konstruktorparameter macht, ist mir ein Rätsel.
AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle("My Title"); builder.setMessage("My message"); builder.setPositiveButton("OK", listener); AlertDialog dialog = builder.show(); // Must call show() prior to fetching views TextView messageView = (TextView)dialog.findViewById(android.R.id.message); messageView.setGravity(Gravity.CENTER); TextView titleView = (TextView)dialog.findViewById(context.getResources().getIdentifier("alertTitle", "id", "android")); if (titleView != null) { titleView.setGravity(Gravity.CENTER); }
quelle
wir können wie verwenden.
public static void showAlert(Activity activity, String message) { TextView title = new TextView(activity); title.setText("Your Title Here"); title.setPadding(10, 10, 10, 10); title.setGravity(Gravity.CENTER); title.setTextColor(Color.WHITE); title.setTextSize(20); AlertDialog.Builder builder = new AlertDialog.Builder(activity); builder.setCustomTitle(title); builder.setMessage(message); builder.setCancelable(false); builder.setNegativeButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); AlertDialog alert = builder.show(); TextView messageText = (TextView)alert.findViewById(android.R.id.message); messageText.setGravity(Gravity.CENTER); messageText.setTextColor(Color.RED); }
quelle
Sie können diesen Code ausprobieren
public void Info(){ AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Info Aplication"); builder.setIcon(R.drawable.info_adp); builder.setMessage("Jakarta Hospital"); builder.setCancelable(false); builder.setPositiveButton("Exit", null); AlertDialog dialog = builder.show(); TextView messageView = (TextView)dialog.findViewByI(android.R.id.message); messageView.setGravity(Gravity.CENTER); }
quelle
ohne Textansicht. arbeitete für mich.
styles.xml
<style name="CustomAlertDialog" parent="Theme.AppCompat.Light.Dialog.Alert"> <item name="android:gravity">center</item> </style>
Alertdialog
final AlertDialog builder = new AlertDialog.Builder(activity, R.style.CustomAlertDialog)
quelle
Versuchen Sie dies in Ihrer Textansicht:
android:gravity = "center_vertical|center"
quelle
Verwenden Sie einfach diese Methode und Ihr Dialogtitel und Ihre Nachricht werden in der Mitte angezeigt:
public static void openDialog (Kontextkontext, String-Nachricht) {
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); }
quelle