我正在制作一个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。

08-16 16:06