android : how to align message in alertDialog?

前端 未结 8 798

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

相关标签:
8条回答
  • 2020-12-15 04:45

    I know this thread is old but might help some people :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 讨论(0)
  • 2020-12-15 04:45

    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();
    
    0 讨论(0)
  • 2020-12-15 04:47

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

    0 讨论(0)
  • 2020-12-15 04:55

    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);
    
    }
    
    0 讨论(0)
  • 2020-12-15 04:55

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

    <TextView ... android:layout_width="fill_parent" android:gravity="center" />
    
    0 讨论(0)
  • 2020-12-15 04:56

    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.

    0 讨论(0)
提交回复
热议问题