1

当您获得捆绑的图形资产时,您将它们放置在等中drawable-hdpidrawable-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。

这样做的常见方法是什么?以编程方式而不是使用配置限定符?

4

2 回答 2

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));
                } 

这是基于自己的意见,你可以使用不同的尺寸

于 2013-05-02T11:19:17.450 回答
0

如果您有能力运行 servlet(或任何服务器端逻辑),最好将 DPI 作为参数发送并根据服务器上的文件名做出决定。这将允许在不需要更新客户端的情况下进行更轻松的更改,并且还将简化在客户端中编写一长串值的过程。

于 2012-08-13T10:57:40.863 回答