スタイルで「Android:background」パラメーターを使用し、このスタイルにリンクするようにアプリケーションのテーマを設定することにより、アプリのすべてのアクティビティの背景を設定しています。
アイテムのリストを含むダイアログでは、各アイテムが背景のフルサイズになることに気づくまで、すべてうまくいきました。
使用されているパラメーターを「Android:windowBackground」に変更すると、この場合も正常に動作するようです。
なぜそれが起こるのですか? 2つの違いは何ですか?
また、「Android:windowBackground」を@nullに ここに記述 と設定すると、「Android:background」を使用する場合と同じ速度向上が得られますか?
Android:background
は、ビューコンポーネントの背景色(正確には描画可能)ですが、Android:windowBackground
は、ビューが存在するウィンドウ(アクティビティまたはダイアログ)の背景色です。
デフォルトでは、ビューは透明です(つまり、背景色がありません)ので、視覚的には、下にあるウィンドウから色を取得しているように見えます。
リンクした記事が、フルスクリーンビューの背景ではなくwindowBackground
をnullに設定することについて言及していることに注意してください。これは、オーバードローを回避するための一般的な手法です。
ただし、一方のビューがもう一方のビューを完全に非表示にしている場合、同じ原理をビューに適用できます。