안드로이드 개발 질문/답변
(글 수 45,052)
http://moozi.tistory.com/80
그래픽 2D 1 - 안드로이드 아이콘 띄우기, 커스텀뷰 활용 이라는 강좌 입니다.
여기서 CustomView 라는 클래스를 밖으로 빼 내고 싶은데요.
어떻게 해야할지 모르겠습니다.
제가 한 것은..
원래 강좌에서는 파일이름이 MyGraphic2D.java로 되어잇는데요.
저는 MyGraphic2D0102.java 로 만들었는데요.
몇 번 하다 보니까 파일이름 뒤에 숫자가 붙게 되었습니다.
package my.MyGraphic2D0102 에 파일이
MyGraphic2D0102.java
CustomView.java
이렇게 되어있습니다.
각 파일은 이렇게 했습니다.
MyGraphic2D0102.java 파일은
public class MyGraphic2D0102 extends Activity {
CustomView customview;
Canvas canvas;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 이 부분을 어떻게 해야 할지 모르겠습니다.
// 1) customview = new CustomView(this); <- 이렇게 할 경우 실행은 되는데
// CustomView에서 나와줘햐할 그림이 나오지 않습니다.
// onDraw를 호출하지 않는데요. 어떻게 해야나하나요?
}
}
CustomView.java 파일은
public class CustomView extends View{
public CustomView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
public void onDraw(Canvas canvas){
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
canvas.drawColor(Color.parseColor("dedede"));
canvas.drawBitmap(bm,70,70,null);
}
}
강좌에서는 main.xml 파일을 수정하지는 안았습니다.
그런데 저는 View 영역 안에서만 동작하게 하고 싶어서
View를 추가 했습니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<View android:layout_height="wrap_content"
android:id="@+id/myview"
android:layout_width="fill_parent">
</View>
</LinearLayout>



