public final class AutoSizeCompat
extends java.lang.Object
Activity 的 ContextThemeWrapper.getResources() 并调用
AutoSizeCompat 的对应方法即可解决问题
Created by JessYan on 2018/8/8 19:20 Contact me Follow me ================================================
| Modifier and Type | Method and Description |
|---|---|
static void |
autoConvertDensity(android.content.res.Resources resources,
float sizeInDp,
boolean isBaseOnWidth)
这里是今日头条适配方案的核心代码, 核心在于根据当前设备的实际情况做自动计算并转换
DisplayMetrics.density、
DisplayMetrics.scaledDensity、DisplayMetrics.densityDpi 这三个值, 额外增加 DisplayMetrics.xdpi
以支持单位 pt、in、mm |
static void |
autoConvertDensityBaseOnHeight(android.content.res.Resources resources,
float designHeightInDp)
以高度为基准进行适配
|
static void |
autoConvertDensityBaseOnWidth(android.content.res.Resources resources,
float designWidthInDp)
以宽度为基准进行适配
|
static void |
autoConvertDensityOfCustomAdapt(android.content.res.Resources resources,
CustomAdapt customAdapt)
使用
Activity 或 Fragment 的自定义参数进行适配 |
static void |
autoConvertDensityOfExternalAdaptInfo(android.content.res.Resources resources,
ExternalAdaptInfo externalAdaptInfo)
使用外部三方库的
Activity 或 Fragment 的自定义适配参数进行适配 |
static void |
autoConvertDensityOfGlobal(android.content.res.Resources resources)
使用 AndroidAutoSize 初始化时设置的默认适配参数进行适配 (AndroidManifest 的 Meta 属性)
|
static void |
cancelAdapt(android.content.res.Resources resources)
取消适配
|
public static void autoConvertDensityOfGlobal(android.content.res.Resources resources)
resources - Resourcespublic static void autoConvertDensityOfCustomAdapt(android.content.res.Resources resources,
CustomAdapt customAdapt)
Activity 或 Fragment 的自定义参数进行适配resources - ResourcescustomAdapt - Activity 或 Fragment 需实现 CustomAdaptpublic static void autoConvertDensityOfExternalAdaptInfo(android.content.res.Resources resources,
ExternalAdaptInfo externalAdaptInfo)
Activity 或 Fragment 的自定义适配参数进行适配resources - ResourcesexternalAdaptInfo - 三方库的 Activity 或 Fragment 提供的适配参数, 需要配合 ExternalAdaptManager.addExternalAdaptInfoOfActivity(Class, ExternalAdaptInfo)public static void autoConvertDensityBaseOnWidth(android.content.res.Resources resources,
float designWidthInDp)
resources - ResourcesdesignWidthInDp - 设计图的总宽度public static void autoConvertDensityBaseOnHeight(android.content.res.Resources resources,
float designHeightInDp)
resources - ResourcesdesignHeightInDp - 设计图的总高度public static void autoConvertDensity(android.content.res.Resources resources,
float sizeInDp,
boolean isBaseOnWidth)
DisplayMetrics.density、
DisplayMetrics.scaledDensity、DisplayMetrics.densityDpi 这三个值, 额外增加 DisplayMetrics.xdpi
以支持单位 pt、in、mmresources - ResourcessizeInDp - 设计图上的设计尺寸, 单位 dp, 如果 设置为 true,
则应该填写设计图的总宽度, 如果 设置为 false,
则应该填写设计图的总高度isBaseOnWidth - 是否按照宽度进行等比例适配, true 为以宽度进行等比例适配, false 为以高度进行等比例适配public static void cancelAdapt(android.content.res.Resources resources)
resources - Resources