ImageView填充不同的屏幕尺寸,但保持纵横比

时间:2012-08-29 05:11:57

标签: android android-layout fullscreen

我在图像视图中有一个矩形图像。我希望在屏幕上显示不同屏幕尺寸的图像,同时保持宽高比

在较小的屏幕上它的工作正常,但它不会在biggerscreens拉伸。图像底部仍留有一些空隙。

这是我的代码:

LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT); 
LayoutParams params1 = new LayoutParam(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);


mMainLayout = new LinearLayout(context);
mMainLayout.setLayoutParams(params);


backgroundImage = new ImageView(context);
backgroundImage.setId(0);
backgroundImage.setAdjustViewBounds(true);
backgroundImage.setScaleType(ScaleType.FIT_CENTER);
backgroundImage.setLayoutParams(params1);
backgroundImage.setImageResource(R.drawable.background_circles_en); 

mMainLayout.addView(backgroundImage);

我使用了fill_parentwrap_content与多个scaleTypes的多种组合:fitCentercenterInside并且它们都以正确的宽高比绘制图像,但没有一个它们实际上是向上缩放图像和ImageView本身,导致TextViews被一直向下推到屏幕外,ImageView内部出现空白,或者图像没有缩放。

请给出正确的组合,以便它适用于不同的屏幕尺寸。

1 个答案:

答案 0 :(得分:2)

Privide ScaleType FIT_XY,无论宽高比如何,它都会将图像缩放为x和y尺寸。