e.g。我希望给定的位图(100x200px)始终具有以下大小:
height = 1/10 of the screens height
length = 1/20 of the screens length,
无论屏幕有多大以及它具有什么分辨率。如何在不为每个可绘制文件夹创建位图版本的情况下执行此操作(我已经看过所有图片仅存储在“drawable”文件夹中的示例,因此必须离开而不创建每个图片的4个实例)?
感谢您的帮助!
答案 0 :(得分:1)
将位图加载到ImageView中并将ImageView的ScaleType设置为“FIT_XY”,它会将图像缩放到ImageView的大小。您可以通过从WindowManager获取屏幕尺寸来将ImageView大小设置为相对于屏幕大小
例如: -
int screenWidth = getWindowManager().getDefaultDisplay().getWidth();
int screenHeight = getWindowManager().getDefaultDisplay().getHeight();
float newWidth = 0.05f * screenWidth;
float newHeight = 0.10f * screenHeight;
imageview.setScaleType( ImageView.ScaleType.FIT_XY );
imageview.setLayoutParams(new LinearLayout.LayoutParams( (int)newWidth, (int)newHeight ));
答案 1 :(得分:0)
final int width = getWindowManager()。getDefaultDisplay()。getWidth();
final int height = getWindowManager()。getDefaultDisplay()。getHeight();
然后使用bitmapfactory来缩放图像