2011-04-14 7 views
1

캔버스를 사용하여 Android에 이미지를 표시하고 있습니다. 이 이미지가 화면의 크기에 관계없이 화면의 중앙을 차지하기를 원합니다. 어떻게 그것을 달성 할 수 있을까요?캔버스를 사용하여 화면 가운데에 이미지를 배치하는 방법

내가 시도한 스 니펫입니다. 나에게도 아이디어를 알려주세요.

@Override 
     protected void onDraw(Canvas canvas) { 
     .......... 
      .......... 
      sampleImage.draw(canvas,getWidth(),getHeight()); // This moves the image to right end of the view. 
      .......... 
      .......... 

모든 종류의 도움을 주실 수 있습니다.

감사합니다.

답변

1
sampleImage.draw(
     canvas, 
     getWidth()/2 - imageWidth/2, 
     getHeight()/2 - imageHeight/2 
); 

는)

+0

나는 또한 당신이 당신의보기의 OnSizeChanged 과부하 다음 뷰의 폭과 높이를 저장해야한다고 생각합니다. – Lukas

+0

안녕하세요 루카스, 귀하의 회신에 감사드립니다, 나는 다음과 같은 방법으로했지만, 여전히 나는 해결책을 제대로 얻지 못했습니다. 비트 맵 팩토리 .decodeResource (getResources(), R.drawable.loader) .getWidth()/2, getHeight()/2 - BitmapFactory.decodeResource (getResources(), R.drawable .loader) .getHeight()/2); –

+0

그래도 어디로 가야할까요? 내 견해의 중심에 정확하게 있지는 않습니다. 아이디어가 있으면 도와주세요. 감사합니다 ... –

관련 문제