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

问题描述:

我正在创建一个位图,我需要使用它作为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); 

我在做什么错?

+0

尝试卸下'RelativeLayout.CENTER_HORIZONTAL' – Arkde 2012-02-01 11:59:18

+0

我需要的规则的规则,我无法将其删除,我需要它,因为我使用此代码为我的很多应用程序的部分,他们需要以背景图像水平居中 – NullPointerException 2012-02-01 12:02:30

+0

我尝试删除它并没有工作 – NullPointerException 2012-02-01 12:03:25

尝试使用这样的:

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

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

+0

我试了一下,没有工作:/这是没有工作的代码:((ImageView)视图).setImageBitmap(resource.image ); \t \t \t \t((ImageView)view).setScaleType(ImageView.ScaleType.FIT_CENTER); – NullPointerException 2012-02-01 12:00:43

既然你不关心的高度,你应该使用CENTER_CROP

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

CENTER_CROP - 缩放图像均匀(维持图像的宽高比 比),以使得图像的两个尺寸(宽度和高度)将 比视图的相应尺寸等于或大于(负 填充)。