繁体   English   中英

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

[英]Create custom drawable resources to handle different logos

我正在为一组三个不同的社会构建一个应用程序。 该小组的每个社团都有自己的 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(域)。

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

drawable drawable-A-ldpi drawable-A-mdpi drawable-A-hdpi drawable-B.ldpi...?

任何建议表示赞赏。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM