如何根据屏幕尺寸缩放图像?

Ank*_*ava 2 android bitmap bitmapimage android-imageview

我正在制作一个Android应用程序,我使用它来缩放位图 bitmap2 = Bitmap.createScaledBitmap(bmp, 150, 150, true);

这个图像在大屏幕的手机上看起来不错......但是当它在小尺寸的手机上使用时它会不成比例.....任何人都知道它的解决方案吗?

Hei*_*sch 6

您需要在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());
Run Code Online (Sandbox Code Playgroud)

对于您的特定情况使用:

float ht_px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 150, getResources().getDisplayMetrics());
float wt_px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 150, getResources().getDisplayMetrics());
Run Code Online (Sandbox Code Playgroud)

并使用ht_px和wt_px缩放位图.您可能需要将150更改为75.