2012-07-30 6 views
0

나는 시작할 때 웹에서 이미지를 다운로드하고 주 활동에 표시하는 앱을 개발 중입니다.Android에서 다운로드 한 이미지의 크기를 처리하는 방법은 무엇입니까?

내 화면의 밀도가 다른 기기에서이 이미지의 크기가 걱정됩니다.

예 : : 400x200 픽셀의 이미지를 다운로드한다고 가정합니다. 갤럭시 S (480x800 해상도)와 갤럭시 S3 (1280x720 해상도) 모두 400x200로 표시 될 예정입니까, 아니면 갤럭시 S3에서 더 큰 크기로 조정됩니까?

다운로드 된 이미지로 작업 할 때이 기능의 작동 방식과 다른 화면과 호환되는 방법에 대한 정보를 알려주십시오.

고마워요.

답변

1

당신이 이미지 뷰에 이미지를 표시하고 가정, 당신은 정말 몇 가지에 대해 우려 할 필요가있다.

Android는 이러한 설정에 따라 업 스케일링/다운 스케일링을 처리합니다.

원하는 경우 너비/높이를 동적으로 조정할 수 있습니다. 비슷한 코드 사용 :

// banner image layout adjustment 
LayoutParams lp = mImageView.getLayoutParams(); 
lp.width = mImageView.getDrawable().getIntrinsicWidth() ; 
lp.height = mImageView.getDrawable().getIntrinsicHeight() ; 
mImageView.setLayoutParams(lp); 

과 같은 코드를 사용하지만 미리 정의 된 범위 내에서이보기를 유지하는 데주의해야합니다. 장치 화면 너비/높이

+0

그게 내가 필요한 것입니다. 고마워요. –

1

웹 사이트가 요청한 이미지에 대해 다른 해상도를 제공하기 위해 일부 멋진 사용자 에이전트 전환을 수행하지 않는 한 이미지 파일은 와이어와 동일해야합니다. 그러나 이미지를 표시 할 때 화면에 맞게 크기가 조정됩니다 (예 : ImageView에서 크기 조정할 경우). 여러 장치에서 서로 다른 메모리 제한으로 인해 검색된 이미지가 다운 샘플링되지 않은 경우 표시 할 때 메모리 부족 오류가 발생할 수 있습니다 (파일 크기는 동일하게 유지되며 메모리 크기가 문제입니다).

layout_width/layout_height와 이미지 뷰에 scaleType 설정 :

+0

나는 이미지가 작기 때문에 크기를 표시하는 것에 더 관심이 있습니다. 질문을 명확하게하기 위해 예제에 추가했습니다. 감사. –

+0

그래, 원본 이미지보다 ImageView 레이아웃과 속성에 더 의존한다. – dmon

관련 문제