这个问题通常是由于将最低位的标志设置为1而引起的,这个标志位为“FLAG_HARDWARE_ACCELERATED”。要解决这个问题,可以在AlertDialog的构造函数中将该标志去掉,示例如下:
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Title");
builder.setMessage("Message");
builder.setNegativeButton("Cancel", null);
builder.setPositiveButton("OK", null);
AlertDialog dialog = builder.create();
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
dialog.show();