2012-03-16 34 views
0

我們有一個要求,即用戶必須從5個主題中選擇一個主題,並且需要爲我們的應用程序的所有活動設置所選主題。對此有任何想法。Android:如何將主題應用到Android應用程序

欣賞你的時間。

感謝

+0

更緊密地定義您的主題。這是否意味着全屏,沒有標題欄等的主題(比如在Eclipse中製作佈局時),還是更像是顏色方案? – gkiar 2012-03-16 02:15:06

+0

我們有5個基於用戶選擇的背景圖像,我們需要將選定的背景圖像應用於所有活動。 – Kavi 2012-03-16 02:23:33

回答

0

創建一個類,說的主題經理聲明靜態函數爲每個返回INT

public static int getTop() 
{ 

return R.Drawable.top1; 
} 
上的活動

compont就叫

top.setBackGroundResource(thememanager.getTop()); 
0

方式我會這樣做,如下:

步驟1:

創建公開虛擬變量(在所有的活動中使用),併爲您的主題,像這樣的陣列;

public Integer background; 
private Integer[] mImageIds = { 
    R.drawable.theme1, 
    R.drawable.theme2, 
    R.drawable.theme3, 
    R.drawable.theme4, 
    R.drawable.theme5, 
}; 

步驟2:

有你選擇的背景(列表,按鈕,等等)選擇陣列(0-4)的元件,並將其分配到背景變量的方法;

position = 1; % ranging from 0-4 
background = mImageIds[position]; 

第3步:

當加載每個活動,將背景設置爲你的背景變量。 (我即將展示如何做到這一點的方式就是作弊,它將其應用爲跨越屏幕的圖像視圖的內容)。

ImageView iv = new ImageView(R.id.background-box); 
iv.setImageResource(background); 

希望這會有所幫助!

編輯:

另一種方式,你可以做到最後一步是設置一個空文本視圖的背景是,像這樣的形象;

TextView tv = new TextView(R.id.background-textbox); 
tv.setBackgroundResource(background); 
+0

感謝您的回覆。我會試試這個... – Kavi 2012-03-16 03:37:04

+0

讓我知道這是否適合你! :) – gkiar 2012-03-16 12:58:56

+0

你從來沒有回到我身邊,爲你做這個工作?如果是這樣,請選擇答案。 – gkiar 2012-05-09 13:04:24

相關問題