1. Bitmap스케일 조절하는 createScaledBitmap이 늘릴 수 있는 최대크기가 정해져 있나요? 가로 4800 세로 1440인 이미지 파일이 있습니다.
이걸 그냥 적용하면 되긴 하는 데 제가 세로크기만 화면에 맞추고 가로크기는 기존 이미지값 그대로 입력했는데 프로그램 실행 시 오류가 나더라구요. 그래서 분석해봤는데 가로로 최대 3000까지만 늘릴 수 있었고 그 이상으로 수치를 늘리면 오류가 발생했습니다;;;
가로값은 이미지 원본값인 4800을 그대로 적용하고 싶은데 방법이 없을까요? ㅠ.ㅠ
2. 액티비티가 아닌 뷰클래스만 올렸습니다. 보시면 소스에는 이상이 없는 것 같은데 가상디바이스에서 실행 시 해당 키를 눌러도 적용이 되지 않았습니다. 더 이해가 안 가는 것은 학교에서 하면 되는데 집에서 하니 안된다는 건데요. 자판에 문제가 있는 것은 절대 아닙니다.
뭐가 문제일까요?
package com.keydownexample;
import android.content.Context;
import android.view.KeyEvent;
import android.view.View;
import android.graphics.*;
public class KeyDownExampleView extends View {
public String m_dir = "없음";
public KeyDownExampleView(Context context) {
super(context);
setFocusable(true);
}
public void onDraw(Canvas canvas){
Paint p = new Paint();
p.setTextSize(30);
p.setColor(Color.BLACK);
System.out.println("good");
canvas.drawText("입력된 방향 키"+ m_dir, 0, 30, p);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
System.out.println("success");
if(keyCode == KeyEvent.KEYCODE_F)
m_dir = "왼쪽";
if(keyCode == KeyEvent.KEYCODE_DPAD_RIGHT)
m_dir = "오른쪽";
if(keyCode == KeyEvent.KEYCODE_DPAD_DOWN)
m_dir = "아래쪽";
if(keyCode == KeyEvent.KEYCODE_DPAD_UP)
m_dir = "위쪽";
invalidate();
return super.onKeyDown(keyCode, event);
}
}