2012-04-03 8 views
10

私のアプリケーションでは、実行時にListViewのCustomListItemに透明な背景を適用します。そのため私はconvertView.setBackgroundColor(android.R.color.transparent);を使います。それは働き、透明性を示します。しかし、それはバックグラウンドに何らかの影があるので、完全に透明ではありません。私はまた、#80000000#00000000の値を持つ私自身の透明な色を入れてみましたが、結果は悪いです。完全に透明な色を得るために私は何ができますか?android.R.color.transparent not fully transparent

答えて

23

android.R.color.transparentは、リソースIDです(透過色定義を参照しています)。View.setBackgroundColor(int)は、実際のint色を予期しています。

代わりにView.setBackgroundResource(int)を使用してください。リソースから実際の色が読み込まれます。

+0

恐ろしい男。すばらしいです。ありがとう。出来た。 – Rajkiran

+0

が働いていますが、なぜそれが明らかでないのは依然として謎です。 – halxinate

1

してみてください。xmlファイルであなたのリストビューに、この属性を設定し

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

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

も実行時にリストビューのCustomListItemに透明な背景を適用します。そのために あなたはあなたの意見に透明性が必要な場合

 
convertView.setBackgroundColor(Color.TRANSPARENT); 

おかげ

+0

人はいません。私の質問を読んでください。 'convertView.setBackgroundColor(android.R.color.transparent);'は動作しませんでした。 @antonyt答えを読む。出来た。 – Rajkiran

+0

私は編集の回答を持っていますこれをチェックしてください –

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

OR

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

があなたのXMLのファイルで、今からこれを使用し、使用を持っている:

android:background="@null" 

あなたはより良いパフォーマンスを得るつもりです。