2010-10-19 86 views

回答

1

讓您的TextView填充父項並賦予其中心重力。

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

如何做與AlertDialog相同? – 2011-04-04 16:11:58

1

您將不得不使用在Android中爲AlertDialog提供的構造函數之一,同時創建一個。

AlertDialog(上下文上下文,int主題) 構造使用明確主題的AlertDialog。

link將幫助你。既然你想讓文本居中,你會想要給出引力屬性,值'中心'。

77

試試這個

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

我無法獲得您編寫代碼的方式 – swiftBoy 2012-12-05 12:44:27

+8

可能存在AlertDialog dialog = builder.create();而不是AlertDialog dialog = builder.show();和dialog.show();應該移動2行以上 – goRGon 2014-05-19 19:31:56

21

我知道這個線程是舊的,但可能會幫助一些人: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

請你可以寫出你的代碼是如何有用的並且與其他答案不同。它會幫助人們閱讀你的答案,並決定是否嘗試它(並可能幫助他們學習) – Patrick 2013-03-26 15:49:37

+0

如何在'builder'中添加'title' TextView? – 2013-09-02 03:34:16

0

試試這個 - 它會做的伎倆。

​​
1

最好的方法是設計自定義對話框。

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

然後,它在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

您可以使用您的自定義佈局警告對話框佈局。要對齊默認警報對話框佈局信息中心,你可以做

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

要小心,如果你設置與findViewById MessageText中打電話之前builder.show(),你會得到一個空指針異常。

4

只需使用方法和您的對話框的標題和消息將出現在中心:

公共靜態無效openDialog(上下文的背景下,字符串消息){

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

}