안드로이드 개발 질문/답변
(글 수 45,052)
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new ImageView2(this));
}
public class ImageView2 extends View {
private Bitmap imgBack; private Bitmap line;
public ImageView2(Context context) {
super(context);
// TODO Auto-generated constructor stub
Resources r = context.getResources();
imgBack = BitmapFactory
.decodeResource(r, R.drawable.paper_thum1_bg);
line = BitmapFactory.decodeResource(r, R.drawable.paper_rack);
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
float getBackHight = imgBack.getHeight(); float getLineHight = line.getHeight();
for (int i = 0; i < 3; i++) {
canvas.drawBitmap(imgBack, 0,
i * (getBackHight + getLineHight), null);
canvas.drawBitmap(line, 0, getBackHight
+ (i * (getBackHight + getLineHight)), null);
}
}
}
}위와 같이 onDraw를 이용하여 canvas에 그림을 그렸습니다.
위의 소스를 보면 화면에 출력하기 위해
setContentView(new ImageView(this));
를 이용하였습니다.
setContentView(R.layout.main);
의 ImageView에 canvas에 그린 그림을 넣을려면 어떻게 해야 하나요?




main layout 에 addView(new ImageView(this) 를 하셔도 되고
xml 쪽에서 커스텀뷰 넣는 방식으로 넣으셔도 됩니다.