Android:修改当前App某个窗口参数

            try {
                WindowManager manager = getWindowManager();
                Field mGlobal_field = manager.getClass().getDeclaredField("mGlobal");
                mGlobal_field.setAccessible(true);
                Object managerGlobal = mGlobal_field.get(manager);
                //noinspection ConstantConditions
                Field mViews_field = managerGlobal.getClass().getDeclaredField("mViews");
                mViews_field.setAccessible(true);
                //noinspection unchecked
                ArrayList<View> mViews = (ArrayList<View>) mViews_field.get(managerGlobal);
                //noinspection ConstantConditions
                View dialogDecorView = mViews.get(mViews.size() - 1);// TODO 这里需要做一下判断,是不是dialog的decorView
                WindowManager.LayoutParams params = (WindowManager.LayoutParams) dialogDecorView.getLayoutParams();
                params.gravity = Gravity.TOP;
                dialogDecorView.setLayoutParams(params);
                manager.removeView(dialogDecorView);
                manager.addView(dialogDecorView, params);
            } catch (Exception e) {
                e.printStackTrace();
            }

发表评论

邮箱地址不会被公开。 必填项已用*标注