如何在Android中使ListView透明?

问题描述 投票:64回答:12

如何在Android中使ListView透明?

背景android屏幕图像应该可见。

android android-layout android-listview
12个回答
123
投票

您应该使用更详细的内容

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

已更新Jacky的回复。我最初只是想补充他的答案,因为他在样本中使用了普通的十六进制颜色。


1
投票

尝试一下:

android:cacheColorHint="@null"

0
投票

检查此博客。

[[http://aboutyusata.blogspot.in/2013/10/how-to-make-listview-with-transparent.html] [1]

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

0
投票

我使用了自定义创建的xml,但是我的背景始终是白色的。原因是使用CardView,当我删除它时,我解决了一个问题,并且背景变得透明。


61
投票

android:background =“ @ android:color / transparent”android:cacheColorHint =“ @ android:color / transparent”


13
投票
  • 如何在Android中使ListView透明?

正如Jacky所述,为列表视图设置属性将完成此工作。

android:background="#00000000" 
android:cacheColorHint="#00000000"
  • 背景android屏幕图像应该可见。

在Android清单文件中,将以下属性添加到活动中。

android:theme="@android:style/Theme.Dialog"

5
投票

尝试一下:

list.setCacheColorHint(Color.TRANSPARENT);

5
投票

添加此选项可使列表项在按下时保持透明:

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

4
投票

本文有助于结合自定义背景说明ListView的细微差别-http://developer.android.com/resources/articles/listview-backgrounds.html

tl; dr-将其放在有问题的ListView的xml中:

android:cacheColorHint="#00000000"


3
投票

如果要使用部分透明性,这将在设置颜色代码时为您提供帮助。

2个十六进制字符可以附加到任何十六进制颜色代码中。 8位十六进制颜色代码中的前2个字符表示其在Android中的不透明度。

2个十六进制字符的范围可以从00到FF。例如-

  • 普通不透明黑色十六进制-“#000000”
  • 完全透明的黑色-“#00000000”
  • 完全不透明的黑色-“#FF000000”
  • 50%透明黑色-“#80000000”

通过这种方式,您可以将任何颜色更改为任何级别的透明度。

来源-http://zaman91.wordpress.com/2010/03/22/android-how-to-create-transparent-or-opeque-background/


3
投票

您可以使用这些

android:background="@android:color/transparent"
android:listSelector="@android:color/transparent"

1
投票

上面的答案将起作用,但是当您滚动listView时,它有可能变暗,例如在这种情况下:android-listview problem with transparent cells

要解决此问题,您可以使用上面提到的cacheColorHint,但是如果您动态地添加ListView(通过代码而不是xml),则将无法使用。您必须用XML声明ListView,如果这是bug或其他问题,则不要使用。

© www.soinside.com 2019 - 2024. All rights reserved.