以前 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;
}
}