我正在制作一个android应用程序,在其中我使用bitmap2 = Bitmap.createScaledBitmap(bmp, 150, 150, true);
这张图片在大屏幕的手机上看起来足够好…但是在小尺寸的手机上使用时就不成比例了…有人知道它的解决方案吗?
最佳答案
您需要在dp中指定图像大小,就像在xml中一样。要将dp转换为像素,您可以使用以下方法:
float ht_px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, ht, getResources().getDisplayMetrics());
float wt_px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, wt, getResources().getDisplayMetrics());
对于您的特殊情况使用:
float ht_px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 150, getResources().getDisplayMetrics());
float wt_px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 150, getResources().getDisplayMetrics());
并使用ht_px和wt_px缩放位图。你可能需要把150换成75。