2014-01-14 93 views
2

我試圖將一些文本置於默認警報對話框構建器中 這是我的代碼,但它默認爲左側。如何在警報對話框生成器中居中文本?

  new AlertDialog.Builder(getActivity()) 
        .setTitle("Well done!") 
        .setMessage("Message centered????") 

        .setPositiveButton("OK", 
          new DialogInterface.OnClickListener() { 

           @Override 
           public void onClick(DialogInterface dialog, 
             int which) { 
            // TODO Auto-generated method stub 

           } 
          }) 

        .setIcon(R.drawable.img_ok) 
        .show(); 

     } 
+0

我發現'AlertDialog'是很難定義。我最終創建了一個自定義的'Dialog',其中包含一個'View'完全符合我的需求。 – codeMagic

+0

我想你可以在這裏找到答案: http://stackoverflow.com/questions/4954130/message-text-in-android-dialog-box 我希望它能幫助你! – koni

+0

@koni是的,我看到了那個鏈接,快速回答。 –

回答

4

而不是設置消息,使用AlertDialog.Builder.setView(View)View與居中的文本

10

這段代碼的默認操作的工作,但不提供自己的自定義視圖的AlertDialog.Builder

AlertDialog dialog = builder.show(); //builder is your just created builder 
    TextView messageText = (TextView)dialog.findViewById(android.R.id.message); 
    messageText.setGravity(Gravity.CENTER); 
    dialog.show(); 
+1

setView缺失,dialod.setView(messageText);應該包含在dialog.show()之前; – iversoncru

-1

你可以試試這個代碼

public void Info(){ 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setTitle("Info Aplikasi"); 
    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.findViewById(android.R.id.message); 
    messageView.setGravity(Gravity.CENTER); 
} 
0

你可以試試這個簡單的方法:

textView.setWidth(ViewGroup.LayoutParams.MATCH_PARENT); 
textView.setGravity(Gravity.CENTER); 
alert.setView(textView); 
相關問題