如何修改AlertDialog的主题

工作中有一次写了一个服务类,在服务类中弹出一个AlertDialog

AlertDialog.Builder r_builder = new AlertDialog.Builder(UpdateSystemService.this);
r_builder.setTitle(R.string.dialog_title);
r_builder.setMessage(R.string.dialog_reading);
AlertDialog r_dialog = r_builder.create();
r_dialog.setCancelable(false);
r_dialog.getWindow().setType((WindowManager.LayoutParams.TYPE_SYSTEM_ALERT));//服务中弹出AlertDialog需要该行

这时候显示的是黑底白字,如果要改为白底黑字则

AlertDialog.Builder r_builder = new AlertDialog.Builder(UpdateSystemService.this,android.R.style.Theme_Holo_Light_Dialog);
r_builder.setTitle(R.string.dialog_title);
r_builder.setMessage(R.string.dialog_reading);
AlertDialog r_dialog = r_builder.create();
r_dialog.setCancelable(false);

r_dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
r_dialog.getWindow().setType((WindowManager.LayoutParams.TYPE_SYSTEM_ALERT));//服务中弹出AlertDialog需要该行

你可能感兴趣的:(如何修改AlertDialog的主题)