2017-12-01 1 views
1

드로어 블 리소스에 200 개가 넘는 아이콘 (50x50 픽셀 미만)을 추가하고 싶습니다. 끌어서 놓기 기능이 작동하지 않습니다. 새 이미지 저작물 허가를 사용하면 하나의 사진 만 업로드 할 수 있습니다.Android에서 드로어 블 res 폴더에 여러 사진 추가

enter image description here

드로어 블 폴더에 사진을 추가 한 후, 나는 이미지를 얻을 수 없습니다 :

여기 내 프로젝트 리소스 폴더 구조입니다. 여기 내 코드가

Resources res = activity.getResources(); 
    String mDrawableName = user.getNat().toLowerCase() + ".png"; 
    int resourceId = res.getIdentifier(mDrawableName , "drawable", activity.getPackageName()); 
    Drawable drawable = res.getDrawable(resourceId); 
    countryIcon.setImageDrawable(drawable); 

왜 drawables에 이미지를 찾을 수 없습니까?

파일 탐색기/찾기에서 사진을 복사해야합니까? 나는 치수가 다른 드로어 블 폴더와 밉맵 폴더가 있습니다

프로젝트 내부에 200 개의 png가있는 것이 좋은 생각입니까? (나는 33483477과 같은 다른 코드를 가지고 있으며, 모든 코드에 대해 내가 필요로하는 이미지를 가지고있다.)

+0

DCIM 폴더에 이미지를 저장할 수 있습니다. 그런 다음 이미지를 찾아보고 선택할 수있는 ImageView를 만듭니다. – user1850484

+0

'String mDrawableName = user.getNat(). toLowerCase(); // 확장자 없음! ' –

답변

1

다음 코드를 사용하여 드로어 블을 만듭니다. 그것이 당신을 위해 일할 수 있기를 바랍니다. .png 파일 확장이 필요 없습니다. 그게 네 잘못이야. getIdentifier를 호출하기 전에 getResources() 메소드를 사용하십시오.

String mDrawableName = user.getNat().toLowerCase(); //image or icon name. not need extention .png 
int resourceId = getResources().getIdentifier(mDrawableName, "drawable", getPackageName()); // or use context.getResources(). If you use fragments, use getActivity(). 
Drawable drawable = getResources().getDrawable(resourceId); 
countryIcon.setImageDrawable(drawable); 
+0

대단히 감사합니다! 이것은 내 질문을 해결! –

+0

케이트 세 보타 리 환영합니다. 당신을 도우려는 즐거움. –

3

<your project>/<your module>/src/main/res/drawable[-qualifier] 아래의 프로젝트로 직접 복사하면된다.

프로젝트의 다른 세부 사항이 없으면 이러한 리소스 폴더가 어떤 드로어 블 리소스 폴더에 있는지 구체적으로 말할 수 없습니다 (-hdpi, -nodpi?).

프로젝트 내부에 200 개의 png가있는 것이 좋은 생각입니까?

크기에 따라 다릅니다. 100MBi의 APK 크기 제한이 있습니다. 더 큰 경우에는 데이터 불투명 한 아카이브 인 expansion files을 스테이지 할 수 있습니다.

그 외 이미지의 사용 패턴을 고려해야합니다. 모든 사용자가 항상 모든 이미지를 보았습니까? 즉, 사용자가 모두 다운로드해야하는 경우 APK에 모든 항목을 번들링하면됩니다. 사용자가 일부만 사용하는 경우 APK에서 다운로드하도록 설정하면 대역폭이 낭비됩니다.

서버에서 이미지를 스테이징하고 필요할 때 다운로드하면 앱이 약간 복잡해 지지만 잘 정립 된 패턴입니다.

+0

이미지는 사실 200 개의 아이콘으로, 매우 작은 아이콘입니다. Q를 다시 한번 확인해주세요, 지금 편집하겠습니다. 나는 밉맵 (mipmaps)과 드로어 블 폴더 (drawable folder)가 너무 많아 항목을 복사 할 위치를 모른다. 드로어 블에 직접 연결하면 거기에서 이미지를 가져올 수 없습니다. –

+0

약 200x 아이콘 (100x100px 이하를 의미한다고 가정)을 사용할 수 있습니다. –

관련 문제