拉伸ImageView以填充水平滚动视图内的屏幕高度

时间:2013-10-24 19:15:05

标签: android imageview horizontalscrollview stretching

我已经阅读了所有关于支持不同屏幕界限的内容。而且,我提供了正确显示的图像到适当的文件夹。但是,我对某些事情感到困惑。 ImageView的文档说将android:layout_width和android:layout_height设置为" fill_parent" /" match_parent"将导致图像拉伸以填满屏幕。 (这似乎是必要的,因为不是所有的屏幕密度都提供相同的大小/像素数屏幕,我不希望那些额外的几个像素导致屏幕底部的填充) 这似乎在任何其他时间都有效,但当ImageView放置在Horizo​​ntalscrollview内并且图像的宽度比屏幕的宽度长时,它对我不起作用。

我的代码如下:   (活动在我的清单中设置为横向)

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/hscrollview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="0dp"
    android:fadingEdge="none"
    android:scrollbars="none"
    android:overScrollMode="never" >

<RelativeLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="0dp"
    android:fadingEdge="none"
    android:scrollbars="none"
    android:overScrollMode="never" >

<ImageView
    android:id="@+id/MapImageView"
    android:src="@drawable/map"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent" />
</RelativeLayout>
</HorizontalScrollView>

编辑:我替换了:src with:background to no effect。

这是我在平板电脑等设备上获得的效果。理想情况下,我希望图像能够填充整个屏幕,就像下面这样,在具有典型480x800分辨率的手机上等。

This is the effect I get on devices like tablets.  Ideally I want the image to fill the entire screen, like it does when on a phone with typical 480x800 resolution or the like.

2 个答案:

答案 0 :(得分:5)

尝试在 android:scaleType="fitXY"

中使用ImageView

答案 1 :(得分:0)

这对我有用:

<ImageView
    android:id="@+id/main_imageView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="42dp"
    android:alpha="0.5"
    android:src="@drawable/img_alchemy2" />

这是一个纵向图像,以纵向模式填充屏幕,在横向上,它垂直填充而不会水平拉伸。