创建自定义可绘制资源以处理不同的徽标

时间:2012-04-11 08:17:10

标签: android android-layout

我正在为三个不同社团组建一个应用程序。该组织的每个社团都有自己的网站,这是其他网站的克隆,例外标识和域名。 所以,例如,我有:

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(域)检索。

问题是:我该如何处理徽标?我有三个可以显示的不同徽标,我在drawable *文件夹中为每个分辨率都有一个副本。 我认为我可以做的是在每个活动的每个onCreate事件中添加一个if语句来检查用户首选项并显示正确的徽标(或使用在其他地方创建的方法getMyLogo()),但它很无聊.. 为每个案例创建一个自定义可绘制文件夹以处理所有不同的场景可能会更好:

可绘制 抽拉-A-LDPI 抽拉-A-MDPI 抽拉-A-HDPI 绘制,B.ldpi ... ?

任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:0)

据我所知,这是不可能的,最干净的方法是在SocietyHelper的行中使用getLogo()和getUrl()的静态方法创建一个名为something的类。唯一不“干净”的是你无法在xml中定义徽标。如果您的徽标始终位于imageview中,则可以将ImageView子类称为LogoImageView,它实际上只是使用正确的徽标初始化ImageView。