繁体   English   中英

Android:以编程方式根据屏幕尺寸设置位图的宽度和高度

[英]Android : set width and height of bitmap base on screen size programmatically

假设我有尺寸为165x15.7 的位图 A,它在320x240屏幕尺寸上正确显示,密度为0.75 如果我想在不同屏幕尺寸(如480x3201.0密度)上显示位图图像,如何在不同屏幕尺寸上动态设置位图宽度和高度? 我想以编程方式进行,我不想使用 xml/多个布局/多个维度。 任何帮助,将不胜感激。 谢谢你。

这是示例

320x240 屏幕尺寸

480x320 屏幕尺寸

在此处输入图片说明

正如您在上面的屏幕截图中看到的,示例徽标在 480x320 屏幕尺寸上看起来更小

您可以使用以下代码获取设备屏幕的缩放因子以缩放图像大小:

getResources().getDisplayMetrics().density;

这将为您提供:

ldpi = 0.75

mdpi = 1.0

hdpi = 1.5

xhdpi = 2.0

xxhdpi = 3.0

xxxhdpi = 4.0

来源: https : //stackoverflow.com/a/10948031/6217595

您可以使用ImageView在任何屏幕尺寸下显示位图。 只需在imageView中设置位图并将imageView的scaleType设置为fitCenter。

imageView.setScaleType (ImageView.ScaleType.FIT_CENTER);

如果要更改位图的尺寸,请创建缩放的位图。

Bitmap resizedBitmap = Bitmap.createScaledBitmap(myBitmap, (int)(myBitmap.getWidth()*1.2), (int)(myBitmap.getHeight()*1.2), true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM