2011-07-14 27 views
1

我正在開發一個有3個活動的應用程序。每個活動都有相同的背景。我想讓用戶改變所有三個活動的背景。所以我用AlertDialog爲用戶提供了幾個選擇。當用戶單擊對話框上的項目時,背景將會改變。如何同時更改多個活動的背景?

我已經嘗試了上述實現此功能的方法有兩種:

1)採用Android:主題在AndroidManifest.xml中。這真的起作用了。但糟糕的是,應用程序中的所有視圖都會擴展主題。我將無關視圖的背景設爲null。但是我無法刪除對話框中的擴展主題。這使我的對話非常難看。

2)我在這三個活動的佈局xml中應用了'style'。但問題是,我無法以編程方式修改樣式中的背景屬性。

有人有一些想法來處理這個問題嗎?謝謝!

回答

1

有一對夫婦的選擇,但這裏有2,我能想到的:

  1. 創建自定義對話框並覆蓋設置主題,以取消新的主題變化的方法。

  2. 在應用程序首選項中保留選定背景圖像的首選項,然後在活動啓動時設置每個活動的主佈局視圖的背景。

+0

嗨,約翰,你的解決方案是非常有用的,尤其是第二個。對於你的第一個建議,我之前也考慮過這個問題,但是這是很多編碼,因爲我在應用程序中有幾個對話框。所以我會嘗試第二個。 –

+0

@Fly:如果您創建自己的擴展AlertDialog類(比如MyAlertDialog),則只需要重命名每個對話框的實例。我認爲第二種方法雖然會更容易,但祝你好運。歡迎來到堆棧溢出! –

+0

@John PLZ幫助我也面臨着同樣的問題,將背景圖像應用到所有其他活動,基於用戶選擇該PLZ上的任何鏈接... – Goofy