안드로이드 개발 질문/답변
(글 수 45,052)
밑에 드로우에 관한 질문을 드렸었는데 답변이 없어서 다시 답글을 올립니다.
여기저기 찾아봐도 뭐를 어떻게 해야할지를 모르겠습니다.
제가 하려고 하는 것을 먼저 말씀드리겠습니다.
===================================
Title Image or Text
-----------------------------------
Drawing
-----------------------------------
Text or Button
===================================
이렇게 구성을 하려고 합니다. 처음에 생각한 것은 xml을 이용해서 위처럼 각각의 뷰를 정의해준다음에 Drawing 을 할 부분의 view만을 가져와서 그리면 될거라 생각했습니다만, 그걸 어떻게 해야할지를 모르겠더군요. 이래저래 findViewById 등을 이용해서 View를 가져와서 드로잉하는 부분의 context로 넘겨보고 했는데 에러가 계속나더군요.
그래서 생각한게 xml을 이용하지 않고 해볼까 생각중입니다. 그런데 xml을 이용하지 화면에 뿌려주는 것을 어떻게 할지를 잘 모르겠습니다. setContentView를 이용해서 모든 view가 추가된 LinearLayout type을 인자로 넘겨주면 되는 건가요?
답변 부탁드립니다. 어떤 방법이든 위의 예제같은 화면을 구성하기만 하면 됩니다. ㅠ ㅠ
2009.08.17 22:23:02
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width = "fill_parent"
android:layout_height = "fill_parent"
android:orientation = "horizontal" >
<LinearLayout
android:id="@+id/title"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content" />
<LinearLayout
android:id="@+id/drawing"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content" />
<LinearLayout
android:id="@+id/button"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content" />
</LinearLayout>
Context 를 넘길때는 만드신 CustomView 에서 getContext() 로 받으시면 됩니다.
2009.08.19 09:49:38
제가 아직 내공이 부족해서 그런지 추가 질문이 잘 이해가 가지 않습니다..
저도 Context 에 대해서 잘 모르는데 저 나름대로는 Context 는 Activity 라고 (비슷?) 생각하고있습니다.
context부분은 고수분들이 알려주시겠죠 ^^;
그림을 그리는 부분은 id ) title , drawing , button 부분의 onDraw 부분을 오버라이드 해야 하는거 아닌가요??
2009.08.19 15:24:33
드로우는 정말 잘 모르겠습니다.
해당 리니어레이아웃 혹은 그 안에 다시 view를 정의해서 id 값을 가져온다음에 custom view를 하나 만들오 onDraw를 오버라이드 해서 사용을 해보았습니다만 그려지지가 않더군요. (에러도 나는 경우도 있고 그냥 드로잉부분이 동작을 하지 않는 경우도 있구요.)
몇 가지를 해보았지만 도통 모르겠습니다 ㅠ ㅠ
Canvas에 대해서 개념이 좀 있으시면 알려주셨으면 합니다. 어느 글에서
Activity는 View를 호스트하고 View는 Canvas를 호스트하다고 본 것 같은데요.
그러면 각각의 view마다 하나씩의 canvas를 갖게 되는 것인지요?
아... 드로잉은 정말 어렵습니다..