2014-01-14 37 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);