【问题标题】:Bad rendering of images (after touch on the screen)图像渲染不良(触摸屏幕后)
【发布时间】:2011-11-11 10:11:05
【问题描述】:

我有一个包含许多元素的活动,刚开始时它看起来不错,带有渐变的图像看起来很完美。例如这张图片

但是在我触摸屏幕之后这些图像变的很糟糕,而且看起来很丑,我觉得这种效果叫做抖动

我不知道你是否能看到这两张图片之间的区别,但请放大并仔细观察,你会注意到的。

有什么问题?我该怎么办?

我尝试使用 wrap_content 我尝试使用 px 中的固定尺寸,在所有内容中都表现相同,起初它看起来很棒,在屏幕上进行任何触摸后它会自行改变它看起来很丑,图像是一样的但是渲染效果很差。

如果你真的知道我该如何解决这个问题,请发布答案(请不要猜测答案,到目前为止我几乎猜到了所有内容),谢谢

【问题讨论】:

    标签: android android-layout android-ui android-image android-gui


    【解决方案1】:

    您可以使用代码启用抖动:

    findViewById(R.id.ImageView01).getBackground().setDither(true);
    

    否则,您可以从 XML 应用抖动(在 res/drawable 文件夹中定义它)并将 drawable 设置为背景

    <?xml version="1.0" encoding="UTF-8"?>
    <bitmap
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:src="@drawable/btn_background"
        android:dither="true" />
    

    【讨论】:

    • 但我认为这仅适用于2.3及更高版本,还是我错了?
    • 您是否使用 9-patch 图片作为背景?
    • 根据the docs,setDither() 从 API 级别 1 开始可用。
    • 我没有方法“.setDither(true);”在我的图像视图中,我有“setDrawingCacheBackgroundColor”和其他 3 种方法,但没有 setDither。
    • @Lukap,亲爱的,我已经在 SDK 2.2 中测试过,它在那里。它怎么可能没有向您显示,因为正如 Felix 提到的,它已经从 API 级别 1 可用。
    猜你喜欢
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多