android – 如何防止BlackView中的ListView项目突出显示

前端之家收集整理的这篇文章主要介绍了android – 如何防止BlackView中的ListView项目突出显示前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在拼命地解决这个问题,我的ListView项目突出显示.我已经回顾了我在stackoverflow上可以找到的任何解决方案,并且发现没有一个对我有用.

首先,这是LinearLayout中ViewPager中LinearLayout中的ListView.

Listview中的每个Item都是包含LinearLayout(包含TextView)和Gallery的LinearLayout.图库包含多个LinearLayouts,其中包含FrameLayout中的TextView和Imageview.

出现此问题,不是在点击时,而是在拖动时,如在手指滑过故事时(有时在ListView滚动时拖动),下面的项目将被选中.此外,此特定问题仅发生在滚动效果不会导致滚动时反弹的设备上.

试图解决这个问题的方法如下:

>将列表选择器设置为XML中的背景颜色(失败)
>在XML中将列表选择设置为Alpha#00000000(失败)
>以上但编程
>以上但主题
>将选择设置为-1 onListItemClick的代码
>从列表项的LinearLayout中删除背景(Works on 4.0)
>将android:cacheColorHint设置为#00000000(什么都不做?)

任何帮助,将不胜感激.我只是想不通为什么它这样做,我真的需要它停下来.

解决方法

这是一个最有趣的问题.解决方案更有趣.

出于某种原因,我没有尝试过,也没有人想到的是从LinearLayout中为ListView项删除android:background.

删除android:background后,布局继续正常显示,黑色不再出现.

如果您遇到类似的问题而无法解决,您可能需要查看Android博客Why is my list black?

编辑:这对ICS来说很好,但在2.1中引发了一个更大的问题.为了彻底解决这个问题,我最终必须在我的内联样式以及我应用于ListView的样式定义中将List:cacheColorHint =“#000000”指定给ListView(以及LinearLayout以获得良好的度量).

猜你在找的Android相关文章