我在图书馆项目中有一个活动,该活动可能会或可能不会显示为对话框。如果是这样,我要设置其高度和宽度。有没有办法在onCreate中确定当前主题是对话框?
最佳答案
您可以使用反射-只需从onCreate()调用此方法即可。
public boolean isDialog() {
boolean isDialog;
try {
Method method = ContextThemeWrapper.class.getMethod("getThemeResId");
method.setAccessible(true);
int themeResId = (Integer) method.invoke(this);
// TODO: replace Theme_Dialog with the Theme you're using
isDialog = themeResId == android.R.style.Theme_Dialog;
} catch (Exception e) {
// Error getting theme resource ID
isDialog = false;
}
return isDialog;
}
关于android - 如何判断当前是否将Android Activity 显示为对话框?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24249696/