작업을 하다가 화면을 90도 회전해서 처리해야하는 작업들이 생겼다.
리모콘에서 상하좌우 key event도 90도 회전시킨 evnet로 처리해야 하는데 방법을 몰라 몇시간을 헤맸다.
public boolean onKeyDown(final int keyCode, final KeyEvent event) 에서 다음과 같이 처리를 해줬다.
if(keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
new Thread(new Runnable() {
@Override
public void run() {
try {
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_UP);
} catch (Exception e) {}
}
}).start();
return true;
}
if(keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
new Thread(new Runnable() {
@Override
public void run() {
try {
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN);
} catch (Exception e) {}
}
}).start();
return true;
}
if(keyCode == KeyEvent.KEYCODE_DPAD_UP) {
new Thread(new Runnable() {
@Override
public void run() {
try {
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_LEFT);
} catch (Exception e) {}
}
}).start();
return true;
}
if(keyCode == KeyEvent.KEYCODE_DPAD_DOWN) {
new Thread(new Runnable() {
@Override
public void run() {
try {
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_RIGHT);
} catch (Exception e) {}
}
}).start();
return true;
}
private Instrumentation inst;
inst = new Instrumentation();
320x100
'프로그래밍 > Android-Java' 카테고리의 다른 글
[ANDROID] byte array rotate (0) | 2021.01.27 |
---|---|
[ANDROID] react-native 설치 & 프로젝트 생성 (0) | 2021.01.18 |
[ANDROID] StringBuffer 비우기 (0) | 2020.12.16 |
[ANDROID] byte array 초기화 (0) | 2020.12.16 |
[ANDROID] java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() (0) | 2020.12.15 |
댓글