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



我正在创建一个位图,需要用作320宽屏幕的背景。问题是位图没有达到我想要的宽度。左边和右边有两个空位。这是因为它适合屏幕的高度,但我不想这样,我想强迫位图有我想要的宽度。位图高度的一部分是否在屏幕之外并不重要。

当我将图像添加到布局时,我需要强制设置宽度,我的意思是图像必须保持纵横比,但图像必须高于屏幕的高度,并且如果图像的高度高于屏幕的高,则图像必须显示为不完整。现在这种情况没有发生,因为布局迫使宽度尊重图像,并在屏幕的高度显示图像的所有高度,那么我认为问题出在布局规则上

im使用创建位图

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 );

我做错了什么?

尝试使用这个:

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

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

由于您不关心高度,因此应该使用CENTER_CROP

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

CENTER_CROP-均匀缩放图像(保持图像的纵横比比例),以便图像的两个维度(宽度和高度)等于或大于视图的相应尺寸(减去填充)。

最新更新