Android编程:如何在不同的显示器上保持图像大小?

时间:2012-10-14 16:35:41

标签: android android-layout

e.g。我希望给定的位图(100x200px)始终具有以下大小:

 height = 1/10 of the screens height
 length = 1/20 of the screens length,

无论屏幕有多大以及它具有什么分辨率。如何在不为每个可绘制文件夹创建位图版本的情况下执行此操作(我已经看过所有图片仅存储在“drawable”文件夹中的示例,因此必须离开而不创建每个图片的4个实例)?

感谢您的帮助!

2 个答案:

答案 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来缩放图像