当前位置: 首页 > news >正文

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

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

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

    @Overridepublic 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()方法:

    /*** 取消第三方库适配* @return*/@Overridepublic 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 {//适配自己项目的ActivityAutoSizeCompat.autoConvertDensityOfGlobal(super.getResources());//强制用这个方法效果好点,要不然有出现忽大忽小AutoSizeConfig.getInstance().setDesignWidthInDp(1920);//已1920宽度比例 适配屏幕}return super.getResources();}

3.Activity监听

    @Overridepublic void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) {}@Overridepublic void onActivityStarted(@NonNull Activity activity) {}@Overridepublic void onActivityResumed(@NonNull Activity activity) {this.curentActivity = activity;}@Overridepublic void onActivityPaused(@NonNull Activity activity) {}@Overridepublic void onActivityStopped(@NonNull Activity activity) {}@Overridepublic void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle outState) {}@Overridepublic void onActivityDestroyed(@NonNull Activity activity) {}

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

http://www.lryc.cn/news/331060.html

相关文章:

  • 【Java 多线程】从源码出发,剖析Threadlocal的数据结构
  • Sy6 编辑器vi的应用(+shell脚本3例子)
  • 把标注数据导入到知识图谱
  • 【前端基础】什么是类数组对象,类数组对象转换成数组的方法
  • Python快速入门系列-8(Python数据分析与可视化)
  • 双非硕转测试之Java学习笔记(一):集合
  • zabbix源码安装
  • 计算机视觉之三维重建(5)---双目立体视觉
  • 计算机网络-TCP/IP 网络模型
  • 算法训练营第29天|LeetCode 491.递增子序列 46.全排列 47.全排列Ⅱ
  • Ubuntu服务器搭建 - 环境篇
  • 深度学习基础模型之Mamba
  • Topaz Video AI for Mac v5.0.0激活版 视频画质增强软件
  • 解决WordPress文章的段落首行自动空两格的问题
  • RISC-V单板计算机模拟和FPGA板多核IP实现
  • Mojo编程语言案例及介绍
  • 【Python面试题收录】Python中有哪些方法交换两个变量的值?至少给出三种方法。
  • MySQL核心命令详解与实战,一文掌握MySQL使用
  • 基于Springboot + MySQL + Vue 大学新生宿舍管理系统 (含源码)
  • vulnhub pWnOS v2.0通关
  • leetcode热题100.数据流的中位数
  • C 从函数返回指针
  • (文章复现)考虑分布式电源不确定性的配电网鲁棒动态重构
  • 蓝桥杯第八届c++大学B组详解
  • 小于n的最大数 Leetcode 902 Numbers At Most N Given Digit Set
  • Leetcode刷题-数组(二分法、双指针法、窗口滑动)
  • STM32学习和实践笔记(4): 分析和理解GPIO_InitTypeDef GPIO_InitStructure (b)
  • 数据仓库——事实表
  • 人工智能常用的编程语言有哪些?
  • 【Leetcode每日一题】模拟 - 提莫攻击(难度⭐)(45)