【问题标题】:Center message in a default AlertDialog在默认的 AlertDialog 中居中消息
【发布时间】:2015-02-09 12:49:12
【问题描述】:

我创建了一个警报对话框,我想知道如何将消息的重心设置为中心:

Dialog dialog;
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(completedMessage());
dialog = builder.create();

这里是 completedMessage() 方法:

private String completedMessage() {
  String[] messages = getResources().getStringArray(R.array.success);
  String completeMsg =  "\n";
  int messagei= (int) Math.floor(Math.random() * messages.length); 
  completeMsg += messages[messagei];

  return completeMsg;

}

这里是arrays.success:

<string-array name="success">
    <item>You got it!</item>
    <item>Success!</item>
    <item>Done!</item>
    <item>Great job, young Padawan.</item>
</string-array>

没有标题,没有按钮,没有列表,只有消息,无论字符串长度如何,我都希望将其居中显示。

我试过了:

Dialog dialog;
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(completedMessage());
dialog = builder.show();
TextView messageView = (TextView)dialog.findViewById(android.R.id.message);
messageView.setGravity(Gravity.CENTER_VERTICAL);

但这并没有改变。

顺便说一句,消息显示在框中,就像在顶部和左侧有一个填充,但在底部和右侧没有填充。

【问题讨论】:

    标签: android dialog center message default


    【解决方案1】:

    试试这个

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

    【讨论】:

      猜你喜欢
      • 2015-03-12
      • 1970-01-01
      • 2018-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-11
      • 2019-10-24
      • 1970-01-01
      相关资源
      最近更新 更多