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); } }
感覺挺好用的
