AndroidでListViewを透明にする方法は?
背景の Android 画面イメージが表示されるはずです。
より冗長なものを使用する必要があります
android:background="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"
ジャッキーの応答で更新されました。彼はサンプルで単純な 16 進数の色を使用していたので、私はもともと彼の答えに追加するつもりでした。
android:background="@android:color/transparent" android:cacheColorHint="@android:color/transparent"
Jacky が述べたように、リスト ビューの属性を設定するとうまくいきます。
android:background="#00000000"
android:cacheColorHint="#00000000"
Android マニフェスト ファイルで、次の属性をアクティビティに追加します。
android:theme="@android:style/Theme.Dialog"
この記事は、ListView のニュアンスをカスタム背景と組み合わせて説明するのに役立ちます - http://developer.android.com/resources/articles/listview-backgrounds.html
tl;dr - これを問題のある ListView の xml のどこかに入れます。
android:cacheColorHint="#00000000"
これを追加して、リスト項目が押されたときに透明なままになるようにします:
android:listSelector="@android:color/transparent"
これを試して:
list.setCacheColorHint(Color.TRANSPARENT);
部分的な透明度を使用する場合、これはカラー コードを設定する際に役立ちます。
任意の 16 進カラー コードに 2 つの 16 進文字を追加できます。8 桁の 16 進数カラー コードの最初の 2 文字は、Android での不透明度を表します。
2 つの 16 進文字の範囲は 00 から FF です。例えば-
このようにして、任意の色を任意のレベルの透明度に変更できます。
ソース - http://zaman91.wordpress.com/2010/03/22/android-how-to-create-transparent-or-opeque-background/
これを試して:
android:cacheColorHint="@null"
上記の答えは機能しますが、listView をスクロールすると、この場合のように暗くなる可能性があります:
この問題を解決するには、前述のように cacheColorHint を使用できますが、ListView を (xml ではなくコードから) 動的に追加すると、これは機能しません。ListView を XML で宣言する必要があります。これがバグであるかどうかはわかりません。