0

3 つの異なる社会のグループ向けのアプリを作成しています。グループの各団体には、他の団体のクローンである独自の Web サイトがありますが、ロゴとドメインは例外です。したがって、たとえば、次のようになります。

ロゴA.jpeg

ロゴB.jpeg

ロゴC.jpeg

社会のために。A、B、C。

http://socA.it/homepage/default.aspx _ _

http://socB.it/homepage/default.aspx _ _

http://socC.it/homepage/default.aspx _ _

ホームページのリンクなど。サイトのレイアウトはまったく同じです。

私のアプリでやらなければならないことは、サイトのページからデータを取得することです。私のアプリの開始アクティビティでは、登録ユーザーはどのサイトにログインして動作するかを選択できます。ログインすると、彼は自分のアプリを介して、選択したサイト/社会から必要な情報を取得できます。

私は明らかに、すべてのサイトからデータを取得する単一のアプリを作成しましたが、さまざまなドメイン/ロゴを処理するエレガントな (そしてもちろん正しい) 方法を探しています。関心のあるドメインとして、ユーザーがログイン時にユーザー設定で選択したものを保存し、必要なときにそれを base_url (ドメイン) として取得します。

問題は、ロゴをどのように処理できるかです。表示できる 3 つの異なるロゴがあり、drawable* フォルダーに解像度ごとにそれらのコピーがあります。私ができると思うのは、各アクティビティの各 onCreate イベントに if ステートメントを追加して、ユーザーの好みを確認し、正しいロゴを表示することです (または、別の場所で作成されたメソッド getMyLogo() を使用します) が、退屈です..すべての異なるシナリオを処理するために、ケースごとにカスタム ドローアブル フォルダーを作成することをお勧めします。

ドローアブル ドローアブル-A-ldpi ドローアブル-A-mdpi ドローアブル-A-hdpi ドローアブル-B.ldpi ... ?

どんな提案でも大歓迎です。

4

1 に答える 1

0

私が知っている限り、これは不可能です。最もクリーンな方法は、getLogo() と getUrl() の静的メソッドを使用して、SocietyHelper の行で何かを呼び出すクラスを作成することです。これで「クリーン」ではない唯一のことは、xml でロゴを定義できないことです。ただし、ロゴが常にイメージビューにある場合は、正しいロゴで ImageView を初期化するだけの LogoImageView という ImageView サブクラスを作成できます。

于 2012-04-11T08:25:22.867 に答える