关于android尺寸转换

inputSpaceWidth = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, inputSpaceWidth,getResources().getDisplayMetrics());

【关于android尺寸转换】第一个参数是第二个参数的单位。
源码如下
public static float applyDimension(int unit, float value, DisplayMetrics metrics) { switch (unit) { case COMPLEX_UNIT_PX: return value; case COMPLEX_UNIT_DIP: return value * metrics.density; case COMPLEX_UNIT_SP: return value * metrics.scaledDensity; case COMPLEX_UNIT_PT: return value * metrics.xdpi * (1.0f/72); case COMPLEX_UNIT_IN: return value * metrics.xdpi; case COMPLEX_UNIT_MM: return value * metrics.xdpi * (1.0f/25.4f); } return 0; }

用法:
例如在android java文件中,要创建一个大小为40dp*40dp的Bitmap
int inputSpaceWidth = 40; int inputSpaceHeight = 40; inputSpaceWidth = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, inputSpaceWidth,getResources().getDisplayMetrics()); inputSpaceHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, inputSpaceHeight,getResources().getDisplayMetrics()); //假如inputBitmap是已经获取过的Bitmap, //无论是通过BitmapFactory.decodeResource获取的还是Bitmap.createBitmap获取的 inputBitmap = Bitmap.createScaledBitmap(inputBitmap, inputSpaceWidth, inputSpaceHeight, true);

    推荐阅读