Theme_DeviceDefault_Dialog_Alert 等怎么使用

以前 AlertDialog.Builder(Context context, int themeResId)中
themeResId 只需AlertDialog.THEME_DEVICE_DEFAULT_DARK就可以了。

现在API Level 22后 被R.style里的Theme_DeviceDefault_Dialog_Alert取代,
不知道怎么用了。(R.style 里面的值都不知道怎么用)

求教!!

都是写常用的主题 一个一个试试 嘛

按照以前那样用也是是可以的,AlertDialog.THEME_DEVICE_DEFAULT_DARK 会自动匹配到Theme_DeviceDefault_Dialog_Alert R.sytle的值在AlertDialog源码里面也有

图片说明

可以直接传入想要用的stytle的ID

**else if (resid >= 0x01000000) { **

static int resolveDialogTheme(Context context, int resid) {
if (resid == THEME_TRADITIONAL) {
return com.android.internal.R.style.Theme_Dialog_Alert;
} else if (resid == THEME_HOLO_DARK) {
return com.android.internal.R.style.Theme_Holo_Dialog_Alert;
} else if (resid == THEME_HOLO_LIGHT) {
return com.android.internal.R.style.Theme_Holo_Light_Dialog_Alert;
} else if (resid == THEME_DEVICE_DEFAULT_DARK) {
return com.android.internal.R.style.Theme_DeviceDefault_Dialog_Alert;
} else if (resid == THEME_DEVICE_DEFAULT_LIGHT) {
return com.android.internal.R.style.Theme_DeviceDefault_Light_Dialog_Alert;
} else if (resid >= 0x01000000) { // start of real resource IDs.
return resid;
} else {
TypedValue outValue = new TypedValue();
context.getTheme().resolveAttribute(com.android.internal.R.attr.alertDialogTheme,
outValue, true);
return outValue.resourceId;
}
}