android - 在默认的 AlertDialog 中居中消息

标签 android dialog center message default

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

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

但这并没有改变什么。

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

最佳答案

试试这个

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

关于android - 在默认的 AlertDialog 中居中消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28410231/

相关文章:

python - 使用简单的对话框在 Python 中选择文件

jquery - Google map 中的灰色区域

android - 在 RatingBar 中禁用阴影

android - MAT (Eclipse Memory Analyzer) - 如何从内存转储中查看位图

android - 从服务器 RPC :s-7:AEC-0 检索信息时出错

android - 如何防止 Gradle/Android Studio 覆盖 CMake 提供的 C++ 编译器设置?

成功插入数据库后的 Java 清除对象

android - 从首选项屏幕中的 edittext 首选项获取值(value)

html - 如何让这个 HTML 元素居中?

HTML:什么 css 属性使按钮 "center"中的内容?