我在图书馆项目中有一个活动,该活动可能会或可能不会显示为对话框。如果是这样,我要设置其高度和宽度。有没有办法在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/

10-11 07:49