安卓棉花糖系统中ListView滚动时出现模糊问题

6

我有一个运行了几年的安卓应用程序。最近,我发现应用中的一个ListView在滚动时会变得模糊。这个问题只在Android Marshmallow版本下出现。

这里是ListView在滚动时的截图

enter image description here

任何帮助都将不胜感激。谢谢!

你在测试什么类型的手机或模拟器?请发布您的适配器代码。 - Eugene H
1
你是否将窗口背景设置为 null? - Marcin Koziński
不确定,我该怎么做?谢谢。 - M.V.
我也遇到了同样的问题(仅适用于Marshmallow)。我的窗口背景不是“null”。你有没有碰巧找到解决方法? - pathfinderelite
@pathfinderelite - 不,还没有.. - M.V.
@Moshe Ventura:你能否提供这个应用的链接,这样我就可以在我的棉花糖设备上测试它? - Amit Upadhyay
2个回答

1

前言: 在此之前我发布了一个单独的答案,但是那个解决方案只在我的MotoX上有效。后来我发现它并不适用于我的Galaxy Tab A。这里的答案似乎更加通用:

通过为我的应用程序定义单独的ListView样式并指定不同的列表分隔符,我成功地修复了滚动模糊问题。因此,对于我的应用程序主题,我设置了以下内容:

<item name="android:listViewStyle">@style/ListViewStyleNoBlur</item>

其中ListViewStyleNoBlur的定义如下:

<style name="ListViewStyleNoBlur" parent="@android:style/Widget.ListView.White">
    <item name="android:divider">@android:drawable/divider_horizontal_bright</item>
</style>

我将这些内容放在values-v23资源文件夹中,以便更改不会影响到Marshmallow之前的设备。
我的应用程序主题基于android:style/Theme.Light,这就是为什么我的列表视图样式的父项是android:style/Widget.ListView.White。我的应用程序最小SDK是8,这就是为什么我使用了如此“旧”的主题。我还注意到,如果我使用“更新”的主题,例如Holo,则模糊效果不存在。

0

我之前也遇到过这个问题,经过反复尝试,终于找到了解决方法。希望对你也有用。这似乎是与列表视图中的滚动条相关的Marshmallow中的一个bug。我在应用程序主题中设置了以下属性,删除此属性后可以解决模糊滚动的问题:

<item name="android:fadeScrollbars">false</item>

使用true而不是false也可以,但是这是不必要的,因为它是默认值。我还发现(通过试错)使用android:fastScrollEnabled="true"会导致相同的模糊效果,但根据您的滚动条样式,您似乎没有使用它。

总之,不要使用android:fadeScrollbars。如果这不能解决您的问题,请尝试调整您在ListView上使用的任何其他与滚动条相关的样式,记住这些样式可能是直接视图的一部分,也可能是活动或应用程序主题的一部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接