アプリでバナー広告を保持するために使用される透明なレイアウトがあります。レイアウトは常にゲーム エリアの上に表示されますが、広告はたまにしか表示されません。コードは次のように機能します。
transparent_linearlayout_to_hold_banner.setBackgroundColor(Color.TRANSPARENT);
game_frame_layout.addView(transparent_linearlayout_to_hold_banner);
setContentView(game_frame_layout);
広告を表示したいときは、
transparent_linearlayout_to_hold_banner.addView(adView);
広告を消したいときは
transparent_linearlayout_to_hold_banner.removeView(adView);
これは私のGalaxy Sで完璧に動作します!! 4.0.3 を使用していますが、2.3 の [Galaxy] タブでは、追加が表示されるとすぐに transparent_linearlayout_to_hold_banner が黒くなり、広告が削除されても永遠に黒のままです。
何が起こっているのですか?...そしてそれを修正する方法は?
編集:いくつかの実験の後、レイアウトの色は変更されていませんが、アルファチャンネルは変更されていることがわかりました。私の推測では、バナー広告システムの SDK が何らかの関数を呼び出して、バナー自体が透明ではないことを確認してから (OS のバージョンによっては)、親レイアウトを作成するという副作用が発生している可能性があります。不透明。