我有一个透明布局,用于在我的应用程序中放置横幅广告。布局始终位于我的游戏区域顶部,但广告仅偶尔出现一次。该代码的工作原理如下:
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 会在添加出现后立即变黑,并且即使删除了广告,也会永远保持黑色。
知道发生了什么吗?...以及如何解决?
编辑:经过一些实验,我发现布局的颜色没有改变,但 alpha 通道是。我的猜测是,横幅广告系统的 SDK 可能正在调用某些函数以确保横幅本身不透明,然后(取决于操作系统版本)这会产生使其父布局的副作用不透明。