final String[] items = {"我是1", "我是2", "我是3", "我是4", "我是1", "我是2", "我是3", "我是4", "我是1", "我是2", "我是3", "我是4"};
selectIndex = -1;
// 第二个参数是默认选项,此处设置为0
AlertDialog dialog = new AlertDialog.Builder(context).
setSingleChoiceItems(items, 0,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
selectIndex = which;
}
})
.setCancelable(false)
.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (selectIndex != -1) {
ToastUtil.showToast(context, "你选择了" + items[selectIndex]);
}
}
})
.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.show();
WindowManager manager = activity.getWindowManager();
Display d = manager.getDefaultDisplay();
Window window = dialog.getWindow();
WindowManager.LayoutParams params = window.getAttributes();
params.height = (int) (d.getHeight() * 0.6);
params.gravity = Gravity.CENTER_HORIZONTAL;
window.setAttributes(params);
限制单选框的高度为屏幕的0.6,加上【取消】、【确定按钮】,去掉title。
可用,待优化。