android AndroidAutoSize 取消第三方库适配问题(两个步)

比如第三方库的Activity是:PictureSelectorSupporterActivity、PictureSelectorTransparentActivity、CropImageActivity

1.在自定义Application 的 onCreate 方法设置:

java 复制代码
    @Override
    public void onCreate() {
        super.onCreate();
        this.mApp=this;
        registerActivityLifecycleCallbacks(this);

        //取消第三方Activity适配
        AutoSizeConfig.getInstance().getExternalAdaptManager().addCancelAdaptOfActivity(PictureSelectorSupporterActivity.class);
        AutoSizeConfig.getInstance().getExternalAdaptManager().addCancelAdaptOfActivity(PictureSelectorTransparentActivity.class);
        AutoSizeConfig.getInstance().getExternalAdaptManager().addCancelAdaptOfActivity(CropImageActivity.class);
    }

2.重写Activity的getResourse()方法:

java 复制代码
    /**
     * 取消第三方库适配
     * @return
     */
    @Override
    public Resources getResources() {
        Log.i(TAG, "getResources");
        Activity curentActivity = null;
        if (getApplication()!=null) {
            curentActivity = ((MyApp) getApplication()).curentActivity;
        }

        //第三方库的Activity
        if (curentActivity instanceof PictureSelectorSupporterActivity
                || curentActivity instanceof PictureSelectorTransparentActivity
                || curentActivity instanceof CropImageActivity) {
            AutoSizeCompat.cancelAdapt(super.getResources());//取消适配
        } else {
            //适配自己项目的Activity
            AutoSizeCompat.autoConvertDensityOfGlobal(super.getResources());//如果没有自定义需求用这个方法
            AutoSizeConfig.getInstance().setDesignWidthInDp(1920);//已1920宽度比例 适配屏幕
        }
        return super.getResources();
    }

AndroidAutoSize地址:https://github.com/JessYanCoding/AndroidAutoSize

相关推荐
summerkissyou19874 小时前
Android - 摄像头 - hal - 开发教程,例子,常见问题,分析方法,解决方案
android
summerkissyou19875 小时前
Android 16 架构图
android
神龙天舞20016 小时前
MySQL 备库为什么会延迟好几个小时
android·数据库·mysql
码农coding9 小时前
android12 systemUI 之锁屏
android
圆山猫9 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v
爱笑鱼9 小时前
Binder(七):getCallingUid() 读到的是谁?clearCallingIdentity() 又清掉了什么?
android
2501_9159090615 小时前
iOS 应用反调试技详解术 检测调试器的原理与防护实践
android·ios·小程序·https·uni-app·iphone·webview
Lvan的前端笔记15 小时前
AndroidX 完全入门指南
android·androidx
帅次16 小时前
Android 应用高级面试:Window 近1年高频追问 18 题
android·面试·职场和发展
总捣什么乱116 小时前
MySQL MySQL是怎么保证主备一致的?
android·mysql·adb