android px,dp,sp大小转换工具
Posted 麦子TMAC
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android px,dp,sp大小转换工具相关的知识,希望对你有一定的参考价值。
package com.voole.playerlib.util; import android.content.Context; /** * Android大小单位转换工具类<br/> * * float scale = context.getResources().getDisplayMetrics().density; */ public class DisplayUtil { /** * 将px值转换为dip或dp值,保证尺寸大小不变 * * @param pxValue * @param scale(DisplayMetrics类中属性density) * @return */ public static float px2dip(float pxValue, float scale) { return (pxValue / scale + 0.5f); } /** * 将px值转换为dip或dp值,保证尺寸大小不变 * * @param pxValue * @param context * @return */ public static float px2dip(float pxValue,Context context) { float scale = context.getResources().getDisplayMetrics().density; return px2dip( pxValue, scale); } /** * 将dip或dp值转换为px值,保证尺寸大小不变 * * @param dipValue * @param scale(DisplayMetrics类中属性density) * @return */ public static float dip2px(float dipValue, float scale) { return (dipValue * scale + 0.5f); } /** * 将dip或dp值转换为px值,保证尺寸大小不变 * * @param dipValue * @param context * @return */ public static float dip2px(float dipValue, Context context) { float scale = context.getResources().getDisplayMetrics().density; return dip2px(dipValue, scale); } /** * 将px值转换为sp值,保证文字大小不变 * * @param pxValue * @param fontScale(DisplayMetrics类中属性scaledDensity) * @return */ public static float px2sp(float pxValue, float fontScale) { return (pxValue / fontScale + 0.5f); } /** * 将sp值转换为px值,保证文字大小不变 * * @param spValue * @param fontScale(DisplayMetrics类中属性scaledDensity) * @return */ public static float sp2px(float spValue, float fontScale) { return (spValue * fontScale + 0.5f); } /** * 将sp值转换为px值,保证文字大小不变 * * @param spValue * @param Context * @return */ public static float sp2px(float spValue,Context context) { float scale = context.getResources().getDisplayMetrics().density; return sp2px( spValue, scale); } }
感觉挺好用的
以上是关于android px,dp,sp大小转换工具的主要内容,如果未能解决你的问题,请参考以下文章