0

我有一个 Android 应用程序,它具有打开和关闭背景图像的设置。

但是,我有一个用户给我发电子邮件说这对他的设备产生了不好的影响,运行 4.0.2 的 Galaxy Nexus(参见https://www.dropbox.com/s/d61wyb325ckia9r/Screenshot_2012-04-19-00- 02-27.png ) 我无法在我拥有的任何模拟器(2.2 以上的所有版本)或我的任一设备(2.3.7 Nexus One 和 Evo 4g)中重现该问题。

似乎具有透明度设置的东西正在使渲染关闭。

下面是我用于切换背景图像的代码。

void setBackground(){
    if(hideBackground==true){
        getWindow().setBackgroundColor(-16777216);
        getWindow().setBackgroundDrawableResource(R.drawable.black);
    }
    else{
        int pics[] =  {R.drawable.bloodseeker, R.drawable.drow, R.drawable.morphling};
        Random rand = new Random();
        int pos = rand.nextInt(pics.length-1);
        getWindow().setBackgroundDrawable(null);
        getWindow().setBackgroundColor(0);
        getWindow().setBackgroundDrawableResource(pics[pos]);
    }
}

谁能指出我解决此问题的正确方向?

4

2 回答 2

0

在设置透明背景后,您可能希望使根视图无效。

于 2012-04-20T18:30:28.350 回答
0

正如 JRaymond 在我原来的帖子中评论的那样,设置根视图的背景可以解决这个问题。

于 2012-04-21T15:07:39.143 回答