android ImageView adjustViewBounds无法正常工作。空白

时间:2015-02-27 11:53:47

标签: android xml touchimageview adjustviewbounds

我遇到这个问题,当我运行应用程序时,我的图像视图顶部和下方会出现不需要的空白区域。

我曾尝试使用adjustViewBounds和不同的比例类型,事情是我想保留我的照片,就像它们一样,但只是删除空格。

Imageview更改为我的java代码中的src图片,我将图片下载到手机活动,然后将图像设置为下载的位图。

下面是我在模拟器上的外观图,有一个完整的空白屏幕,直到你到达下一个imageView,向下滚动ScrollView。

enter image description here

在这里,您可以看到我的XML代码。 TouchImageView只是一种可缩放的imageView。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fadingEdge="none"
android:fillViewport="true" >

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/tVInformation"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:text="TextView"
            android:visibility="gone" />

        <com.fluffow.csgosmokes.TouchImageView
            android:id="@+id/iVsmoke1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:scaleType="centerInside"
            android:src="@drawable/ic_launcher" />

        <com.fluffow.csgosmokes.TouchImageView
            android:id="@+id/iVsmoke2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:scaleType="centerInside"
            android:src="@drawable/ic_launcher" />

        <com.fluffow.csgosmokes.TouchImageView
            android:id="@+id/iVsmoke3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:scaleType="centerInside"
            android:src="@drawable/ic_launcher" />

        <com.fluffow.csgosmokes.TouchImageView
            android:id="@+id/iVsmoke4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:scaleType="centerInside"
            android:src="@drawable/ic_launcher"
            android:visibility="invisible" />
    </LinearLayout>
</RelativeLayout>

有趣的是,每个imageview都只有一个Android模拟器屏幕&#34;空白&#34;彼此之间,如果我为一个图像视图着色 - 背景一半的空白将是该颜色,下一半是来自下一个图像视图。它在imageview之前和之后获得了相同数量的空白。

4 个答案:

答案 0 :(得分:1)

问题在于touchImageView。它创建了一个无法删除的whitespace

答案 1 :(得分:0)

您正在使用比例类型centerInside,它实际上是做什么

Scale the image uniformly (maintain the image's aspect ratio) so that both dimensions (width and height) of the image will be equal to or less than the corresponding dimension of the view (minus padding). The image is then centered in the view

现在你的身高是wrap_content所以它会在保持纵横比的同时进行缩放,一旦它达到任何一个维度,它就不会超出那个范围。如果要删除空格,请删除scaleType

答案 2 :(得分:0)

android:scaleType="centerInside"中删除TouchImageView,并删除连续TouchImageView之间的空格。

答案 3 :(得分:0)

尝试删除adjustViewBounds。如果您的位图的宽度小于屏幕的宽度,则可能会在侧面产生空白,但是否则效果很好。