位图宽度的问题。宽度受屏幕高度的限制

时间:2012-02-01 11:52:24

标签: android view bitmap relativelayout

我正在创建一个位图,我需要用作320宽屏幕的背景。问题是位图没有达到我想要的宽度。左侧和右侧有两个空白区域。这是因为它适合屏幕的高度,但我不想要,我想强制位图具有我想要的宽度。如果位图高度的一部分超出屏幕,则无关紧要。

我需要在将图像添加到布局时强制宽度,我的意思是图像必须保持宽高比,但图像必须高于屏幕的高度,并且图像必须显示如果图像的高度高于屏幕的高度,则不完整。现在这没有发生,因为布局是强制宽度尊重图像并在屏幕高度显示图像的所有高度,然后我认为问题在于布局规则

使用以下方法创建位图:

View view;
Bitmap aux = Util.loadImage( filename ); //image loaded but with his original width
Bitmap image = Util.scaleBitmap(aux, 320); //scaling to 320
((ImageView)view).setImageBitmap( resource.image );

RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams( 320 , h );
rlp.addRule( RelativeLayout.CENTER_HORIZONTAL );
rlp.addRule( RelativeLayout.ALIGN_PARENT_TOP );

layout.addView( view , rlp );

我做错了什么?

2 个答案:

答案 0 :(得分:0)

尝试使用:

((ImageView)view).setScaleType(ImageView.FitCenter);

要查看更多选项,请参阅http://developer.android.com/reference/android/widget/ImageView.html#attr_android:scaleType

答案 1 :(得分:0)

由于你不关心身高,你应该使用 CENTER_CROP

定义比例类型,然后设置图像。

  

CENTER_CROP - 均匀缩放图像(保持图像的外观   比率),以便图像的尺寸(宽度和高度)都是   等于或大于视图的相应尺寸(减去   填充)。