Home » Android » android : how to align message in alertDialog?

android : how to align message in alertDialog?

Posted by: admin April 23, 2020 Leave a comment

Questions:

i have to align text by middle in android alertdialog.
but i cannot find way…
anyone knows how to this?

How to&Answers:

try this

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

Answer:

I know this thread is old but might help some people 😀

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

Answer:

Just use that method and your dialog title and message will appear at center:

public static void openDialog(Context context, String message) {

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

}

Answer:

You can use your custom layout for alert dialog layout. To align default alert dialog layout message center you can do

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

Be careful, if you set messageText with findViewById before you call builder.show() you’ll get a null pointer exception.

Answer:

Best way is to design Custom Dialog box.

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"/>

Then it use in java file

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

Answer:

Have your TextView fill the parent and give it a center gravity.

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

Answer:

You would have to use one of the constructors provided for AlertDialog in Android, while creating one.

AlertDialog(Context context, int theme)
Construct an AlertDialog that uses an explicit theme.

This link will help you. Since you want the text to be centered, you would want to give the gravity attribute, the value ‘center’.

Answer:

Try this – it will do the trick.

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