일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 웹사이트 공개
- Absolute
- 데이터 전처릴
- 선택자 조건
- predict메소드
- apapter
- 레이아웃
- 메모리 객체화
- kneighbors()
- JavaScript
- hover
- 지도학습
- LENGTH_INDEFINITE
- 스크롤뷰
- 훈련세트
- 넘파이
- 테스트세트
- 픽셀 깨짐
- 스낵바
- 외부css
- CSS
- K최근접이웃 회귀
- relative
- fit메소드
- 표준화 z
- position
- HTML
- 버튼 상속
- 머신러닝
- score메소드
- Today
- Total
베짱이와 노는 개미
안드로이드 앱 프로그래밍#5-키 이벤트 처리 본문
오늘은 키 이벤트 처리에 대해서 알아보겠다
키라는것은 키패드를 의미한다.
입력상자에서 키패드로 무언가를 입력했을때의 이벤트를 처리하는것이다.
먼저 코드를 보면
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK){
Toast.makeText(this, "시스템 BACK 버튼 눌림.", Toast.LENGTH_LONG).show();
return true;
}
return false;
}
keycode값이 BACK이 되면(뒤로가기 버튼이 눌리면) "시스템 BACK 버튼 눌림" 이라는 토스트 문구가 뜨는것이다.
이때 반환값이 true이기 떄문에 다른것을 처리할수 없다.(고 하던데 이부분은 잘 이해가 안간다...)
이 기능이 사용된 예를 들자면
뒤로가기 버튼을 한번 눌렀을때 사용종료 문구가 한번 더 뜨면서 진짜로 종료할것인지를 물어보는 앱이 있다.
그래서 실제로 종료를 하려면 뒤로가기 버튼은 두번 누르게끔 하는 기능에 쓰이는것같다.
왼쪽 하단에 있는 뒤로가기 버튼을 눌렀을때의 화면이다.
토스트기능으로 "시스템 BACK 버튼 눌림." 이라는 문구가 뜨고 앱이 종료가 안된다
반환값이 true이기 떄문인듯 하다.
이때 저 배경에 동그란 원안에 있는 자물쇠 그림은 뭔지 궁금할만 하다
selector라는 것이다.
selector는 xml코드로 상황에 따라서 달라지는 것들을 설정 가능하다.
저 자물쇠 그림을 누르면 배경이 변하는 기능이다.
왼쪽 사이드 바에 drawable란에서 오른쪽 버튼을 클릭하면
new-drawable resource file 을 클릭한다.
파일이름을 임의로 설정한다. 나는 myselector라고 지었다. 그리고 밑에 country code는 그대로 내비두고 ok버튼을 누르면
새로운 xml 창이 뜰것이다.
첫번쨰 <item 을 보면
focused와 pressed가 true로 설정되어있는데 여기서 focused는 커서가 딸깍거리고 있는것을 의미
그리고 pressed는 터치가 된것을 의미한다.
이 두가지 상황이 모두 true일때는 blue라는 이미지가 보이는것이고
그렇지 않을때는(둘중에 하나라도 true가 아닐떄는)
두번쨰 <item으로 넘어오는것이다. 그래서 red라는 이미지가 보이는것이다.
그렇다면 blue와 red라는 이미지는 대체 또 무엇이냐
임의로 내가 가져온 icon이미지 이다.
www.iconfinder.com이라는 는 사이트에 가면 무료로 여러가지 아이콘 이미지를 가져올수있다.
원하는것을 찾으면 png파일을 그대로
여기에 보이는 drawable 란에 끌고오면 된다. 내가 가져온 blue와 red이미지가 모두 png파일로 올라가 있는것을 확인할수있다.
다시 여기로 돌아오면 그렇게 가져온 blue와 red이미지를
각각 @drawable/blue(red)의 형태로 가져오면
클릭이 됐을떄는 blue라는 이미지, 그렇지 않을떄는 red라는 이미지가 보이는것이다.
아까 빨간 자물쇠 이미지는 클릭이 되지 않았을때의 상황이므로 red라는 이미지가 보이는 상태였던 것이다.
클릭을 되어있는 순간에는 blue라는 이미지로 바뀌게 될것이고 터치를 떼는 순간 다시 red라는 이미지로 변할것이다.
이런 기능은 앞에서 포스팅한 https://woowafrontend.tistory.com/4 을보면
좋아요 버튼을 눌렀을때 색이 변하는 기능과 같은 방법이다.
항상 이미지 2개를 챙겨놓고 xml파일을 하나 만든후에 <item>으로 관리한다고 생각하면 된다.
'안드로이드 앱 프로그래밍' 카테고리의 다른 글
안드로이드 앱 프로그래밍#7-스낵바 띄우기 (0) | 2021.07.29 |
---|---|
안드로이드 앱 프로그래밍#6-인플레이션 (0) | 2021.07.27 |
안드로이드 앱 프로그래밍#4-이벤트처리 (1) | 2021.07.25 |
안드로이드 앱 프로그래밍#3-액티비티 (1) | 2021.07.25 |
안드로이드 앱 프로그래밍#2 - 레이아웃(constraint, linear) (1) | 2021.07.25 |