2012-04-11 47 views
0

我正在爲三個不同的社團組建一個應用程序。該組織的每個社團都有自己的網站,這是其他網站的一個克隆版本,除了徽標和域名之外。 因此,例如,我有:創建自定義可繪製資源來處理不同的徽標

logoA.jpeg

logoB.jpeg

logoC.jpeg

對於SOC。 A,B和C.

HTTP:// socA.it /homepage/default.aspx

HTTP:// socB.it /homepage/default.aspx

HTTP: // socC.it /homepage/default.aspx

適用於主頁鏈接等。這些網站的佈局完全一樣。

我與我的應用程序有關的是從網站的頁面檢索數據。在我的應用程序的開始活動中,註冊用戶可以選擇在哪個網站上登錄並運行。 一旦他登錄,他就可以從他選擇我的應用程序的網站/社會獲得他需要的信息。

我明顯地構建了一個應用程序來檢索所有網站的數據,但我正在尋找一種優雅的(當然是正確的)方式來處理不同的域名/標識。 作爲關注域,我保存用戶在用戶首選項中選擇的用戶名,並在需要時將其作爲base_url(域)進行檢索。

問題是:我該如何處理徽標?我可以顯示三種不同的標識,並且我在每個分辨率的可繪製*文件夾中都有它們的副本。 我想我可以做的是在每個活動的每個onCreate事件中添加一個if語句,以檢查用戶首選項並顯示正確的徽標(或者使用在其他地方創建的方法getMyLogo()),但這很無聊.. 可能它是更好地爲每個個案來處理所有不同的場景創建一個自定義繪製的文件夾:

繪製 繪製-A-LDPI 繪製-A-MDPI 繪製-A-HDPI 繪製-B.ldpi .. 。 ?

任何建議表示讚賞。

回答

0

據我所知這是不可能的,最簡潔的方法是在SocietyHelper的行中用getLogo()和getUrl()的靜態方法調用一些類。唯一不「乾淨」的是你不能在xml中定義標識。如果您的徽標始終在imageview中,您可以製作一個ImageView子類,可能稱爲LogoImageView,它實際上只是使用正確的徽標初始化ImageView。

+0

嗨,埃米爾,謝謝你的建議。我認爲自定義ImageView是解決我的問題的簡單方法,我喜歡它。 – 2012-04-11 15:04:16