我有一個Android應用程序,它具有打開和關閉背景圖像的設置。Android:切換背景的開關
但是,我有一個用戶給我發電子郵件說它會對他的設備造成壞影響,Galaxy Nexus運行4.0.2(請參閱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]);
}
}
任何人都能指出我正確的方向來解決這個問題?
爲什麼你要連續多次設置背景?只需要調用setBackgroundDrawableResource(pics [pos])就可以了。此外,當前的API沒有爲window.setBackgroundColor()實現,並且您顯示的圖片正在運行ICS - 該函數可能已被棄用 – JRaymond 2012-04-20 18:44:29
原始代碼沒有多個背景更改。我在收到通知後發現有問題試圖解決它們時添加了它們。 原始的代碼集只有 getWindow()。setBackgroundDrawableResource(pics [pos]);和getWindow()。setBackgroundDrawableResource(R.drawable.black); – Nedlinin 2012-04-20 19:02:40
如何設置根視圖的背景而不是窗口? – JRaymond 2012-04-20 19:19:30