1

我想在我的应用程序中设置一个背景图像,如果需要,它将填充所有屏幕并缩放,所以我在 main_layout.xml 中设置它,如下所示:

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:adjustViewBounds="true"
    android:id="@+id/imageView"
    android:src="@drawable/bg_iphone_6_plus" />

它看起来像这样 api >= 16

不是很好,实际上我也需要调整这张图片的宽度。

好的,所以这在大多数情况下都适用,并且所有 API 都高于 16,但是当我在 api 低于 16 ( minTargetSdk=14 )上运行我的应用程序时,我看到了:

在此处输入图像描述

我不知道为什么会这样,我已经尝试过这个教程,并将 ImageView 替换为 com.inthecheesefactory.thecheeselibrary.widget.AdjustableImageView

但它根本没有改变任何东西

4

2 回答 2

1

尝试在ImageView布局中用android:background替换android:src属性。我认为这将解决您的问题。如果仍然导致问题,请告诉我。

于 2015-05-25T06:43:36.353 回答
1

如果您的背景图像只是中间带有渐变的灰色图片,则将可绘制对象移动android:background 到父容器。你不需要额外ImageView的。

但是,如果您想将位图设置为背景并在不同的设备和方向上保持此图像的比例,您应该使用ImageView及其android:scaleType与 eg "centerCrop"(这通常是背景的最佳选择)。

于 2015-05-25T09:37:37.610 回答