android修改AlertDialog背景颜色 style

默认的AlertDialog是深色背景想改成白色背景的

默认如图:
在这里插入图片描述

试过用自定义style设定背景色,但是界面会变的比较小,不够美观,没时间去研究,
后面直接用系统自带的style解决

想要的结果如图:
在这里插入图片描述

代码如下

                // android.R.style.Theme_DeviceDefault_Light_Dialog_Alert 为白色背景主题
                AlertDialog dialog = new AlertDialog.Builder(BluetoothDetailActivity.this, android.R.style.Theme_DeviceDefault_Light_Dialog_Alert)
                        .setPositiveButton(R.string.bluetooth_unpair_dialog_forget_confirm_button, new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                btDeviceManager.removeBond(mDevice);
                                finish();
                            }
                        })
                        .setNegativeButton(R.string.cancel, null)
                        .create();
                dialog.setTitle(R.string.bluetooth_unpair_dialog_title);
                dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); // 防止出现两行title
                dialog.setMessage(BluetoothDetailActivity.this.getString(R.string.bluetooth_unpair_dialog_body, getDeviceName()));
                dialog.show();

注意这里面有2行比较重要:
// android.R.style.Theme_DeviceDefault_Light_Dialog_Alert 为白色背景主题
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); // 防止出现两行title

如果不使用dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
出现的效果是这样的:
在这里插入图片描述
系统自带的style还有许多种,可以输入android.R.style.Alert查看支持哪些,android studio会自动联想出支持的AlertDialog的样式。

作者:帅得不敢出门

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐