java 的typed_Java TypedValue.COMPLEX_UNIT_MM属性代码示例
发布日期:2021-06-24 17:57:44 浏览次数:2 分类:技术文章

本文共 1111 字,大约阅读时间需要 3 分钟。

/**

* @param unit {@link TypedValue} Not recommended COMPLEX_UNIT_PX、COMPLEX_UNIT_DIP、COMPLEX_UNIT_SP

* recommend COMPLEX_UNIT_PT

*/

private void setDensity(Context context, int unit) {

if (context != null) {

try {

Resources res = context.getResources();

if ((res.getClass().getSimpleName().contains("MiuiResources") || res.getClass().getSimpleName().contains("XResources")) && !enableOtherResources)

return;

float xdpi = 0f;

DisplayMetrics dm = getMetrics(context.getResources());

if (dm == null) return;

switch (unit) {

case TypedValue.COMPLEX_UNIT_PT:

xdpi = dm.widthPixels / DESIGN_WIDTH * 72;

break;

case TypedValue.COMPLEX_UNIT_IN:

xdpi = dm.widthPixels / DESIGN_WIDTH;

break;

case TypedValue.COMPLEX_UNIT_MM:

xdpi = dm.widthPixels / DESIGN_WIDTH * 25.4f;

break;

case TypedValue.COMPLEX_UNIT_DIP:

xdpi = dm.widthPixels / DESIGN_WIDTH;

break;

}

SharedPreferences.Editor editor = mSharedPreferences.edit();

editor.putFloat("xdpi", xdpi);

editor.apply();

if (unit == TypedValue.COMPLEX_UNIT_DIP) {

if (enableDp)

dm.density = xdpi;

} else {

dm.xdpi = xdpi;

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

转载地址:https://blog.csdn.net/weixin_34237700/article/details/114898924 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:mysql误操作删除的数据_MySQL误操作删除后,怎么恢复数据?
下一篇:java所有排序详解_Java经典排序算法之归并排序详解

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月12日 20时29分05秒