禁用背景drawables / 9-patch png上的抗锯齿/抖动/其他图像增强功能

时间:2012-07-25 16:32:54

标签: android android-layout

我在9-patch png和普通drawable上删除抗锯齿方面遇到了问题,而且平铺后会产生背景。我使用9-patch作为EditText控件的背景,并使用平铺drawable作为ImageView的背景来创建' divider'。

以下是我的9补丁png的一些放大版本(很难显示白色图形,所以我用蓝色填充透明区域):

9 patch

我的平铺背景图像以及定义平铺图案的xml:

tile

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/border_diagonal_lines"
    android:tileMode="repeat"
    />

以下是整篇文章:

app screenshot

左边的截图是我目前得到的,右边的截图是我想要的样子。我该怎么做才能达到预期的效果?

我也希望带有平铺背景的imageview始终为3像素高,无论屏幕分辨率如何,但使用像素&#39;作为单位通常是一个坏主意。有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

它不是对你的图形进行抗锯齿,它可能是缩放它们(这些,被授予,也可能执行抗锯齿,但它不是原因)。您是否将它们放在正确的密度特定文件夹中? (例如drawable-hdpidrawable-xhdpi等。)如果您 这样做,请确保您没有在清单中使用android:anyDensity="true"标记。

  

我也希望带有平铺背景的imageview始终如此   无论屏幕分辨率如何,都是3像素高,但使用'像素'   单位通常是个坏主意。有没有办法解决这个问题?

在一般情况下,当系统应该处理多个密度的缩放(而不是使用DP)时,这是不受欢迎的,但是如果你特别需要3像素高的东西,那么指定像素高度没什么“坏”。