2014-11-14 77 views
2

我有一个显示矩形图像的ImageView。我想显示从自定义相机活动中捕捉的图像的评论。ImageView填充父宽度的宽度,剪切任何额外的高度

的问题是,所捕捉的图像比图的情况下(高度),因此利用X缩放以适应Y.

enter image description here

作为图像中所看到的,有一个白色条纹沿着图像的右侧。我想要的是图像填充视图的宽度,并在底部剪切或隐藏多余的图像。

我试过了一堆不同的配置,但似乎无法让它工作。目前,我有:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:clipChildren="true" 
    android:clipToPadding="true"> 
    <ImageView 
      android:id="@+id/camera_review" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:scaleType="fitStart" /> 
    .... 
</FrameLayout> 

的图像将被裁剪成正方形视口,因此重要的是,图像中从顶部显示|离开,并填写宽度。

我能够使它工作的一种方式是将ImageView放入滚动视图中,但随后我必须隐藏滚动条,并弄清楚如何禁用滚动。

回答

0

Chnage你的代码是这样的。它可能会帮助你。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:clipChildren="true" 
     android:clipToPadding="true"> 
     <ImageView 
       android:id="@+id/camera_review" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true" 
       android:scaleType="fitXY" /> 
     .... 
    </FrameLayout> 
+0

这对我很有用,我会在几分钟内选择答案(需要等10分钟才可以?),但是您能解释一下为什么这会起作用吗?我没有尝试fitXY,因为我的理解是该设置不能保持宽高比? – Townsfolk

+0

是的,这不会保持长宽比,但会将整个图像放到ImageView区域。 –

+0

但是,我还需要保持宽高比,否则照片会根据相机的拍摄尺寸出现拉伸或压扁,否? – Townsfolk

0

改变你的形象观“fitStart”到“fitXY

android:scaleType="fitXY" 
1

标签据Moradiya阿卡什回答,图像将满足您的ImageView却没有宽高比准确性。史蒂夫海利有一个关于保持长宽比的答案。

确保您使用android:src="..."而不是android:background="..."将图像设置为ImageViewsrc=使其缩放图像保持宽高比,但background=使其缩放并扭曲图像以使其完全适合ImageView 的尺寸。 更多here

+0

太棒了!非常感谢您解释,并指向其他链接。希望我可以给两个答案。 – Townsfolk

+0

没问题。如果有帮助,那就是我们在这里所做的:)顺便说一句,你仍然可以投票 –