2011-11-20 5 views
0

나는 안드로이드를 처음 사용하고 있습니다. 이제 Android XML 파일에 두 개의 ImageView를 생성했습니다. 캔버스를 사용하여 각보기에서 두 개의 원을 그립니다. 그러나 문제는 어떻게 좌표를 처리 할 수 ​​있는가입니다. 좌표를 어떻게 알 수 있습니까? 어떻게 센터에 배치 할 수 있습니까? 감사!Android 캔버스 문제

+4

코드를 게시하고 수행하려고 시도한 것을 보여 주면 지금 당장은 진행할 것이 없습니다. 도움이 될 수 있습니다. – Joru

답변

0

ImageViews는 일반적으로 이미지 파일을 표시하기위한 것입니다. 직접보기를 그리려면 자체보기를 만들고 onDraw 메서드를 재정의합니다.

public class CircleView extends View { 

public CircleView(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
} 

public CircleView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
} 

public CircleView(Context context) { 
    super(context); 
} 

@Override 
protected void onDraw(Canvas canvas) { 
    Paint red = new Paint(); 
    red.setColor(0xffff0000); 
    int height = getHeight(); 
    int width = getWidth(); 
    int radius = width < height ? width/2 : height/2; 
    canvas.drawCircle(width/2, height/2, radius, red); 
} 



} 
0

이미지 뷰에 커클을 그릴 수 없습니다. 비트 맵에 원을 그릴 수 있고 해당 비트 맵을 ImageView에 적용 할 수 있습니다.

또는 사용자 지정보기를 만들고 캔버스에 직접 그릴 수 있습니다.

두 경우 모두 이러한보기를 만든 후에 크기를 찾아야합니다. 그러면 좌상 구석에서 0,0이 시작되는 좌표를 알 수 있습니다.