当您拥有捆绑的图形资源时,请将它们放在drawable-hdpi
,drawable-xhdpi
等中,以便根据设备的DPI加载正确的图像。
处理从网络上请求的外部图像时有什么规范?
我想到的解决方案是使用配置限定符在资源文件夹中定义URL。例如
values-ldpi
-- http://website.com/logo24x24.jpg
values-mdpi
-- http://website.com/logo32x32.jpg
values-hdpi
-- http://website.com/logo48x48.jpg
values-xhdpi
-- http://website.com/logo64x64.jpg
然后在布局XML中将图像定义为32x32dp。
这样做的常见方法是什么?以编程方式而不是使用配置限定符来执行此操作?
答案 0 :(得分:0)
如果您能够运行servlet(或任何服务器端逻辑),最好将DPI作为参数发送,并对服务器上的文件名做出决策。 这样可以更轻松地进行更改,而无需更新客户端,还可以简化在客户端中编写长值列表的过程。
答案 1 :(得分:0)
WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int width = display.getWidth();
URL url = null;
if (width < 360) {
url = new URL(start + "source/images/thumbnails/mid/" + urls.get(i));
} else if (width < 1280) {
url = new URL(start + "source/images/thumbnails/big/" + urls.get(i));
} else if (width < 1920){
url = new URL(start + "source/images/" + urls.get(i));
}
根据自己的意见,你可以使用不同的尺寸