안드로이드 개발 질문/답변
(글 수 45,052)
이미지를 로드한후
public class AdroidView extends View {
Drawable imgAndroi;
int ix=0, iy=0;
int imgWidth, imgHeight;
Drawable imgAndroi;
int ix=0, iy=0;
int imgWidth, imgHeight;
public AdroidView(Context context) {
super(context);
// TODO Auto-generated constructor stub
imgAndroi = getResources().getDrawable(R.drawable.icon);
imgWidth = imgAndroi.getIntrinsicWidth();
imgHeight = imgAndroi.getIntrinsicHeight();
}
super(context);
// TODO Auto-generated constructor stub
imgAndroi = getResources().getDrawable(R.drawable.icon);
imgWidth = imgAndroi.getIntrinsicWidth();
imgHeight = imgAndroi.getIntrinsicHeight();
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
canvas.drawColor(Color.parseColor("#FFFFFF"));
imgAndroi.setBounds(ix, iy, ix+imgWidth, iy+imgHeight);
imgAndroi.draw(canvas);
super.onDraw(canvas);
}
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
canvas.drawColor(Color.parseColor("#FFFFFF"));
imgAndroi.setBounds(ix, iy, ix+imgWidth, iy+imgHeight);
imgAndroi.draw(canvas);
super.onDraw(canvas);
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
Log.i("aa", "keytest");
switch(keyCode){
case KeyEvent.KEYCODE_DPAD_LEFT : ix -=15; break;
case KeyEvent.KEYCODE_DPAD_RIGHT : ix +=15; break;
case KeyEvent.KEYCODE_DPAD_UP : iy -=15; break;
case KeyEvent.KEYCODE_DPAD_DOWN : iy += 15; break;
}
this.invalidate();
return super.onKeyDown(keyCode, event);
}
위와 같이 코딩했는데 상하좌우키를 누를시 이미지가 움직이지 않습니다.
키를 누를때도 로그캣에 tag값이 aa인 로그가 나오지 않습니다.
대체 어디가 문제인지 모르겠어요.
도와주세요.




onKeyDown 의 return 값을 false 로 줘 보세요. 아님 true나..^^
로그값 확인사 tag가 info 인지도 확인을..