2011-11-30 2 views
0

동적 인 ImageView가 있고 그 이미지를 확대하지 않고 표시 할 수있는 충분한 공간이있는 경우에만 표시하려고합니다.
어떻게 처리해야합니까? 당신이화면에 맞지 않는 경우 ImageView를 사용하지 않습니다.

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 

하면 사용할 수 있습니다

답변

0
imageView.setScaleType(ScaleType.FIT_XY); 
+0

그 다음 – Tomer

+0

에 맞게 나던 경우 내가 그것을 확장 만 해제하고 싶지 않아, 오웬 greig 대답은 최고입니다 –

1

당신은 그것의

를 표시하기 전에 픽셀의 디스플레이 크기를 원하는 큰 경우 경우 다음 확인 이미지 크기와 화면 크기를 얻을 필요 getWindowManager를 호출하는 활동에 대한 액세스 권한이 없습니다. 다음을 사용할 수 있습니다 :

Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 

사용 사례에 대해서는 레이아웃에 여백/패딩이 더 적절하다고 생각됩니다.

if (ImageView.getDrawable().getIntrinsicHeight() > height || ImageView.getDrawable().getIntrinsicWidth() >width){ 
//dont display image 
} 

이 coppied하는 두 개의 게시물에서 컴파일 할 Get screen dimensions in pixelsTrying to get the display size of an image in an ImageView

+0

난 insdie getView, getWidth 및 getHeight 메서드, 거짓 값을 제공합니다 – Tomer

+0

두 가지 방법을 시도해 봤어? 값을 얻기 위해서? view.super를 호출하여 추가 도움을 얻으려면 코드를 더 게시해야합니다. –

+0

문제가 있으면 언제든지 업데이트 할 수 있습니까? –

관련 문제