Android單位轉換類 DensityUtils
import android.content.Context;
import android.util.TypedValue;/**
- 常用單位轉換的輔助類
*/
public class DensityUtils
{
private DensityUtils()
{/* cannot be instantiated */ throw new UnsupportedOperationException("cannot be instantiated");
}
/**
- dp轉px
- @param context
- @param val
- @return
*/
public static int dp2px(Context context, float dpVal)
{
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
}dpVal, context.getResources().getDisplayMetrics());
/**
- sp轉px
- @param context
- @param val
- @return
*/
public static int sp2px(Context context, float spVal)
{
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
}spVal, context.getResources().getDisplayMetrics());
/**
- px轉dp
- @param context
- @param pxVal
- @return
*/
public static float px2dp(Context context, float pxVal)
{
final float scale = context.getResources().getDisplayMetrics().density;
return (pxVal / scale);
}
/**
- px轉sp
- @param fontScale
- @param pxVal
- @return
*/
public static float px2sp(Context context, float pxVal)
{
return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);
}
} </pre>
本文由用戶 ed6y 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!