我创建了一个特定的List,它存在于以下元素之外,用于创建一个可滚动列表,每行包含左侧的Image和右侧的一些文本:

首先是“根”布局:

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent" android:layout_height="fill_parent"android:background="#C8C8C8"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"/><ListViewandroid:id="@android:id/list"android:layout_width="fill_parent" android:layout_height="fill_parent"android:drawSelectorOnTop="false"android:divider="#C8C8C8"android:background="#C8C8C8"/>
</LinearLayout>

然后在ListView中我放置以下“行”项:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:background="@drawable/bg_row"
><ImageViewandroid:layout_width="wrap_content"android:paddingLeft="10px"android:paddingRight="15px"android:paddingTop="5px"android:paddingBottom="5px"android:layout_height="wrap_content"android:src="@drawable/bg_image"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingTop="5px"android:paddingBottom="5px"android:textSize="16sp"android:textColor="#000000"android:layout_gravity="center"android:maxHeight="50px"/>
</LinearLayout>

只要屏幕静态显示(没有移动)就会正确显示,但是当我开始滚动列表时,行项目的背景(代码中显示的“图标”)将是正确显示,但“根”布局的背景将变成完全黑色......当滚动停止时,背景将会大部分时间恢复其颜色......当我测试时,我还在该根中添加了一个TextView具有相同背景的元素,当滚动列表时,这个将保留它的颜色...任何想法为什么会发生这种情况,以及如何解决这个问题?


#1楼

你可以像这样使用:

list.setCacheColorHint(Color.TRANSPARENT);
list.requestFocus(0);

#2楼

在布局文件中使用此行非常简单:

android:scrollingCache="false"

像这样:

<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollingCache="false"
/>

#3楼

android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
android:divider="#C8C8C8"
android:background="#C8C8C8"
android:cacheColorHint="#00000000"/>

#4楼

我们有很多选择来解决这个问题,你可以通过编程来设置背景透明

yourlistview.setCacheColorHint(Color.TRANSPARENT);

或通过xml

android:cacheColorHint="@android:color/transparent"

#5楼

这个问题有很多答案,但今天我意识到这个问题仍然缺少一个重要的信息。

这个问题有两种可能的解决方案 ,两种方法都有效,但每种方法都应该用于不同的情况。


方法

ListView具有纯色背景时,请使用android:cacheColorHint

<item name="android:cacheColorHint">@android:color/transparent</item>

ListView将(复杂) 图像作为背景时,请使用android:scrollingCache

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

注意

ListView具有纯色背景时,两种方法都可以工作,因此不仅cacheColorHint可以工作。 但是不建议将scrolingCache方法用于纯色背景,因为它会关闭用于平滑动画和滚动ListView的优化方法。

注意注意: scrolingCache设置为false并不一定意味着ListView的动画,滚动会变慢。


#6楼

android:cacheColorHint="@android:color/transparent"

#7楼

android:cacheColorHint="#00000000"// setting transparent color

要么

不要设置listview背景。


#8楼

ListView标记上添加属性

android:cacheColorHint="#00000000" // setting transparent color

有关详细信息,请查看此博客


#9楼

在你的xml中使用Listview设置

    android:cacheColorHint="@android:color/transparent"

#10楼

我在listView使用图像,有时在三星s4中变黑,甚至不滚动。 这是我在适配器中完成的一个愚蠢的错误。我只是将我的视图置于null以解决此问题

 @Overridepublic View getView(int position, View convertView, ViewGroup parent) {Holder holder;convertView = null; // convert view should be nullif (convertView == null) {holder = new Holder();convertView = inflater1.inflate(R.layout.listview_draftreport_item, null);} }

#11楼

以下对我有用:

myListView.setScrollingCacheEnabled(false);

滚动时背景ListView变为黑色相关推荐

  1. Android的listview滚动时背景不让变黑解决办法

    在Android中,ListView是最常用的一个控件,在做UI设计的时候,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性 android: ...

  2. 解决Java当中 用point 画图时背景颜色变成黑色问题

    一:导入与源码 package src.cn.wyj.飞机;import java.awt.Color; import java.awt.Graphics; import java.awt.Graph ...

  3. Android ListView 自定义背景后 滚动时的背景变黑问题

    ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉,原因是,滚动时,列表里面的view重绘时,用的依旧 ...

  4. MacOS深色模式下微信文章页面背景变为黑色问题的解决

    由于长期伏案,颈椎问题比较严重,所以平时都尽量减少低头看手机的时间,也就养成了用浏览器看各种读物的习惯,其中就包括公众号文章.最近不知道从哪一天开始,突然发现公众号文章的背景突然变成了黑色. 就像这样 ...

  5. universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法

    universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法 参考文章: (1)universal image loader在listview/ ...

  6. Java使用Imageio拆分gif图片时保存的图片变为黑色

    在拆分GIF图片时,遇到最后保存的图片变为黑色问题.代码如下: public static void splitGif(String filename,String path){try{GifDeco ...

  7. android listview视差滚动,android – ListView在滚动时覆盖另一个布局

    实际上我不知道如何正确调用 – overlay,parallax或slideUP,无论如何,我有一个名为"cafe details"的Activity,它提供了一个带有标题信息的C ...

  8. 小程序背景图固定以及标题栏遮挡内容滚动时显示内容

    滚动页面时背景图固定: 采用一张图片作为背景图,通过设置position为fixed以及z-index为-1,目的是为了让它在最底层. <!-- 背景图 --> <view>& ...

  9. poi导出图片失真变为红色和图片背景变为黑色

    插入图片: private void setPicture(HSSFWorkbook wb, HSSFPatriarch patriarch, String pic, int iRowStart, i ...

最新文章

  1. Objective-c的@property 详解
  2. Android移动开发之【Android实战项目】DAY4-项目发布到真机
  3. python程序设计实验教程 翟萍 第五章答案_Python程序设计实验教程
  4. Qt Creator连接设备
  5. 简述isodata算法的原理_基于UWB技术的室内定位方法简述
  6. 2021.08.24学习内容torch.utils.data.DataLoader以及CUDA与GPU的关系
  7. 容器入门(4) - skopeo
  8. centos 关闭命令行警报声
  9. 按timestamp查询_04. 复杂查询
  10. 容斥原理+简单博弈论(找个时间补充一下sg,希望我记得)
  11. fl2440第一次烧录
  12. 【javascript-基础小练习】跟随鼠标移动的提示框
  13. stm32无感无刷电机驱动
  14. Unity实现3D模式下的摄像机视角控制
  15. 干货丨让你更容易影响别人的 52 个小技巧
  16. web 上传文件到ftp服务器,web 上传文件到ftp服务器上
  17. 《小鑫发现》之GraphQL框架Prisma
  18. java并发free-coder
  19. 网络信息传播中图像识别技术的意义
  20. 官网下载Eclipse历史版本

热门文章

  1. W/System.err: at android.view.ViewConfiguration.get(ViewConfiguration.java:369)
  2. 第五周项目四-长方柱形(1)
  3. Mybatis中的模糊查询
  4. python装饰器由浅入深_由浅入深,走进Python装饰器-----第五篇:进阶--类装饰类
  5. PHP学习笔记-GD库与Jpgraph的使用
  6. Android之选项菜单创建
  7. Android10.0 startActivity启动过程
  8. 【UIKit】表格 UITableView
  9. CentOS 7下载
  10. 嵌入式CGI开发之旅——CGI环境变量