2012-05-24 5 views

답변

0

캔버스가있는 클래스를 하나 만들어야합니다. 그런 다음 xml 레이아웃에서 해당 클래스를 가져옵니다.

예 : FingerPaint Example을 참조하십시오.

위의 예제에는 그 위에 그릴 캔버스가 포함 된 myView 클래스가 있습니다.

당신이해야 할 것은 :

먼저 아래 등으로 XML의 모든 레이아웃을 만듭니다

<RelativeLayout 
     android:id="@+id/drawingLayout"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"> 

    </RelativeLayout> 

이제 main.xml에이 주 XML 레이아웃 파일이 다음에이 클래스를 추가라고하자 그 레이아웃에 아래처럼 :

setContentView(R.layout.main); 

    drawingLayout = (RelativeLayout)findViewById(R.id.drawingLayout); 
    System.out.println("The Layout is: "+drawingLayout); 
    myView = new MyView(this); 
    drawingLayout.addView(myView); 

희망 포인트. 그렇지 않다면 알려주세요.

즐기십시오. :))

+0

@ 감사합니다. :) –

+0

heys .. 나는 당신의 해결책을 시도했다. 하지만 canvas가 내 XML 아래에 추가 될 수 있습니다. 나는 그것의 배경과 버튼 위에 그것을 원한다. 나는 또한 버튼의 터치 이벤트를 처리해야한다. .. 어떤 도움이 appreicated .. –

0

예 및 예 레이아웃에 버튼 뷰를 가질 수 있지만 캔버스 외부에 존재하지만 캔버스도 오버레이 할 수 있습니다. 또는 표면에 직접 버튼을 직접 렌더링하고 직접 터치 감지를 작성하는 오버 헤드를 처리 할 수도 있습니다. 게임 (또는 "sprites"와 같은 게임)을위한 작은 프레임 워크를 만드는 경우 오버 헤드는 이미 수행중인 작업입니다. 이 버튼을 Button보기와 똑같이 보이게 만드는 것은 약간 어렵지만 가능합니다.

이것은 궁극적으로 구현하기가 더 쉽거나 더 좋은 것에 대한 디자인 결정에 이릅니다.

+0

나는 지금 내 자신의 버튼을 구현하려고하는데, 내가 들어가기 위해 생각하는 문제는 전화가 세로에서 가로로 뒤집 혔을 때 일어나는 일 이니, 전화를 설정해야 할 수도 있습니다. 하나의 방향,하지만 난 오히려 .... –

+0

표면의 다른 것들에 대한 방향 문제를 해결하는 방법을 고려해 볼 때 해결책이 필요합니다. –