0

我正在尝试显示带有单选项目的示例警报对话框,并且在列表结束后面临额外空间的问题。

这是我的代码

final CharSequence[] items = {"Red", "Green", "Blue"};

        AlertDialog.Builder builder = new AlertDialog.Builder(context);
        builder.setTitle("Pick a color");
        builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {
                Toast.makeText(context, items[item], Toast.LENGTH_SHORT).show();
            }
        });
        AlertDialog alert = builder.create();
        alert.show();

带有单选项目的示例警报对话框

建议我解决这个问题。

4

2 回答 2

1

您可以拥有自己的对话框布局(请参阅文档),但我建议保持原样,因为此对话框在 HC/ICS/JB 上的外观会有所不同,因此与其他版本的 android 相比,调整其外观是非常糟糕的主意它可能看起来不同。这只是操作系统的方式。离开它是我的建议。

于 2012-08-27T14:04:33.217 回答
0

我在构建自定义警报对话框时遇到了类似的问题。为了解决这个问题,我不得不使用主题来摆脱剩余的空间。以下是我遵循的代码:

private Dialog getCustomDialog() {
      AlertDialog.Builder builder = new AlertDialog.Builder(this, android.R.style.Theme_DeviceDefault_Panel);
      AlertDialog dialog = builder.create();
      dialog.setView(dialogView, 0, 0, 0, 0);
      return dialog;
    }

根据此处android.R.style.Theme_DeviceDefault_Panel的文档,遵循以下用法:

这将删除所有无关的窗口装饰,因此您基本上有一个空的矩形来放置您的内容。它使窗口浮动,具有透明背景,并关闭窗口后面的调光。

于 2015-06-15T10:08:42.923 回答