1

我有一个包含条纹背景图像的活动。点击放大——这是我使用的原始图像。还有一个带有另一个活动标志的版本。

它看起来很好。我通过 XML 将它设置为活动中的背景,就像这样。

我需要将 hack 作为 ImageView 才能centerCrop在后台正确显示徽标,但这与问题无关,因为在background为设置RelativeLayout和删除ImageView.

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >
    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:adjustViewBounds="true"
        android:scaleType="centerCrop"
        android:src="@drawable/background_striped" />

请注意,由于图像中必须有徽标,因此我不能人为地拉伸它或让它重复。


在布局预览屏幕中,它看起来像这样:

在模拟器中,它看起来像这样:

如您所见,与我的预期相比,它看起来很糟糕:

自然,我已经为所有显示分辨率(从ldpixhdpi)创建了条纹背景的版本,但它们似乎总是以非常糟糕的方式缩放。

有没有办法让背景以更高的质量缩放?仅使用该xhdpi版本不会产生更好的质量——它只会使规模结果变得更糟,更被淘汰。

4

2 回答 2

1

对于可伸缩的drawables,最好使用9-patch。您可以使用 android 9-patch 工具创建一个带有小条纹背景图像的图像:

http://developer.android.com/tools/help/draw9patch.html

于 2013-03-18T14:04:07.090 回答
1

尝试使用repeat. 我测试了它,它看起来不错。

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
 android:src="@drawable/background_striped"
 android:tileMode="repeat" />
于 2013-03-18T14:07:46.037 回答