2012-08-13 2 views
1

그래픽 애셋이 번들로 제공되면 drawable-hdpi, drawable-xhdpi 등으로 배치하므로 올바른 이미지는 기기의 DPI를 기반으로로드됩니다.Android : 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로 정의하십시오.

이 작업을 수행하는 일반적인 방법은 무엇입니까? config 한정자를 사용하는 대신 프로그래밍 방식으로 수행합니까?

답변

0

서블릿 (또는 서버 측 로직)을 실행할 수있는 능력이 있다면 DPI를 매개 변수로 보내고 서버의 파일 이름을 결정하는 것이 가장 좋습니다. 이렇게하면 클라이언트를 업데이트 할 필요없이보다 쉽게 ​​변경하고 클라이언트에 긴 값 목록을 작성하는 프로세스가 쉬워집니다.

+0

감사를 사용할 수 있습니다. 각 주요 밀도 그룹 (120160240320)에서 정적 그래픽을 선택했습니다. 인식 할 수없는 밀도가있을 경우 htpi로 htaccess 규칙을 작성합니다. 나는 hdpi로 tvdpi를 취급하고 있습니다. 파일 이름은 다음과 같습니다. image_32dpx32dp_240dpi.png는 48x48 픽셀입니다. – bdls

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

이 그것은 자신의 의견을 기반으로, u는 다른 크기를

관련 문제