public class ExternalAdaptManager
extends java.lang.Object
AutoSizeConfig.getExternalAdaptManager() 获取, 切勿自己 new
AndroidAutoSize 通过实现接口的方式来让每个 Activity 都具有自定义适配参数的功能, 从而让每个 Activity 都可以自定义适配效果
但通过远程依赖的三方库并不能修改源码, 所以也不能让三方库的 Activity 实现接口, 实现接口的方式就显得无能为力
ExternalAdaptManager 就是专门用来处理这个问题, 项目初始化时把对应的三方库 Activity 传入 ExternalAdaptManager 即可
Created by JessYan on 2018/8/10 14:40 Contact me Follow me ================================================
| Constructor and Description |
|---|
ExternalAdaptManager() |
| Modifier and Type | Method and Description |
|---|---|
ExternalAdaptManager |
addCancelAdaptOfActivity(java.lang.Class<?> targetClass)
将不需要适配的第三方库
Activity 添加进来 (但不局限于三方库), 即可让该 Activity 的适配效果失效 |
ExternalAdaptManager |
addExternalAdaptInfoOfActivity(java.lang.Class<?> targetClass,
ExternalAdaptInfo info)
将需要提供自定义适配参数的三方库
Activity 添加进来 (但不局限于三方库), 即可让该 Activity 根据自己提供的适配参数进行适配
默认的全局适配参数不能满足您时可以使用此方法 |
ExternalAdaptInfo |
getExternalAdaptInfoOfActivity(java.lang.Class<?> targetClass)
这个
Activity 是否提供有自定义的适配参数, 如果有则使用此适配参数进行适配 |
boolean |
isCancelAdapt(java.lang.Class<?> targetClass)
这个
Activity 是否存在在取消适配的列表中, 如果在, 则该 Activity 适配失效 |
boolean |
isRun()
此管理器是否已经启动
|
ExternalAdaptManager |
setRun(boolean run)
设置管理器的运行状态
|
public ExternalAdaptManager addCancelAdaptOfActivity(java.lang.Class<?> targetClass)
Activity 添加进来 (但不局限于三方库), 即可让该 Activity 的适配效果失效
支持链式调用, 如:
ExternalAdaptManager#addCancelAdaptOfActivity(Class)#addCancelAdaptOfActivity(Class)
targetClass - Activity class, Fragment classpublic ExternalAdaptManager addExternalAdaptInfoOfActivity(java.lang.Class<?> targetClass, ExternalAdaptInfo info)
Activity 添加进来 (但不局限于三方库), 即可让该 Activity 根据自己提供的适配参数进行适配
默认的全局适配参数不能满足您时可以使用此方法
一般用于三方库的 Activity, 因为三方库的设计图尺寸可能和项目自身的设计图尺寸不一致, 所以要想完美适配三方库的页面 就需要提供三方库的设计图尺寸, 以及适配的方向 (以宽为基准还是高为基准?) 三方库页面的设计图尺寸可能无法获知, 所以如果想让三方库的适配效果达到最好, 只有靠不断的尝试 由于 AndroidAutoSize 可以让布局在所有设备上都等比例缩放, 所以只要您在一个设备上测试出了一个最完美的设计图尺寸 那这个三方库页面在其他设备上也会呈现出同样的适配效果, 等比例缩放, 所以也就完成了三方库页面的屏幕适配 即使在不改三方库源码的情况下也可以完美适配三方库的页面, 这就是 AndroidAutoSize 的优势 但前提是三方库页面的布局使用的是 dp 和 sp, 如果布局全部使用的 px, 那 AndroidAutoSize 也将无能为力
支持链式调用, 如:
ExternalAdaptManager#addExternalAdaptInfoOfActivity(Class, ExternalAdaptInfo)#addExternalAdaptInfoOfActivity(Class, ExternalAdaptInfo)
targetClass - Activity class, Fragment classinfo - ExternalAdaptInfo 适配参数public boolean isCancelAdapt(java.lang.Class<?> targetClass)
Activity 是否存在在取消适配的列表中, 如果在, 则该 Activity 适配失效targetClass - Activity class, Fragment classtrue 为存在, false 为不存在public ExternalAdaptInfo getExternalAdaptInfoOfActivity(java.lang.Class<?> targetClass)
Activity 是否提供有自定义的适配参数, 如果有则使用此适配参数进行适配targetClass - Activity class, Fragment classnull 则说明该 Activity 没有提供自定义的适配参数public boolean isRun()
true 为已经启动, false 为没有启动public ExternalAdaptManager setRun(boolean run)
run - true 为让管理器启动运行, false 为让管理器停止运行