2012-04-03 210 views
10

在我的应用程序中,我在运行时将透明背景应用于我的ListView的CustomListItem。对于我使用,convertView.setBackgroundColor(android.R.color.transparent);。它工作并显示透明度。但这并不完全透明,因为背景有某种阴影。我也尝试把自己的透明颜色与值#80000000#00000000,但结果更糟糕。我能做些什么来获得完全透明的颜色?android.R.color.transparent不完全透明

回答

23

android.R.color.transparent是资源ID(指透明颜色定义) - View.setBackgroundColor(int)需要实际的int颜色。

改为使用View.setBackgroundResource(int),它将从资源中加载实际颜色。

+0

太棒了。大。谢谢。有效。 – Rajkiran 2012-04-03 07:15:01

+0

工作,但为什么它不工作,显而易见的方式仍然是一个谜。 – halxinate 2013-04-08 19:16:54

1

尝试:

convertView.setBackgroundColor(Color.argb(0, 0, 0, 0)); 
24

将此属性设置为你的列表视图中的XML文件

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

,并应用透明背景到您的ListView的在运行时CustomListItem。 对于您有使用,

 
convertView.setBackgroundColor(Color.TRANSPARENT); 

感谢

+0

没有人。阅读我的问题。 'convertView.setBackgroundColor(android.R.color.transparent);'没有工作。阅读@antonyt答案。有效。 – Rajkiran 2012-04-03 07:27:35

+0

我有编辑答案,请检查此 – 2012-04-03 07:32:01

5
convertView.setBackgroundColor(Color.argb(0, 0, 0, 0)); 

OR

convertView.setBackgroundColor(Color.parseColor("#00000000")); 
3

使用该从现在开始在你的XML的文件,当你想在你的看法透明度:

android:background="@null" 

你会获得更好的表现。