为什么条纹背景的质量如此差?

时间:2013-03-18 13:59:17

标签: android android-layout

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

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

我需要将黑客作为ImageView才能在背景中正确centerCrop徽标,但这与问题无关,因为在为{{1}设置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" /> ldpi),但它们似乎总是以非常糟糕的方式缩放。

有没有办法让背景缩放到更高的质量?只使用xhdpi版本不会带来更好的质量 - 它只会使比例结果变得更糟,更多的褪色。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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" />