일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- rotate circle
- c
- PowerMockup
- StatefulWidget
- 호주 이민
- ABEEK
- first flutter app
- HTML 게임 엔진
- 플러터
- progress
- 공학인증
- 회전판
- first_app
- quintus
- flutter
- ipad
- OpenGL
- StatelessWidget
- nginx
- 기술인증
- Engineer Australia
- 블러 효과
- flutter progress dialog
- 맨붕
- BlurDrawable
- reverse proxy
- 앱 기획
- game engine
- Android
- c++
Archives
- Today
- Total
우동우동우's note
NumberPicker 포커스 해제하기 본문
NumberPicker를 사용하면 NumberPicker 가 Focus를 얻어서 키보드가 계속 나타난다.
이것 때문에 몇시간 삽질한 것 같다.
그런데 이걸 해결하는 건 생각 보다 간단하다. 딱 2가지 장치만 해주면 끝난다.
1. NumberPicker의 Focus block 걸어주기
--------------
numberPicker.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
--------------
위 코드를 onCreate함수에 넣어주면 된다. 이렇게 되면 NumberPicker 안에 있는 EditText가 Focus를 가져오지 못하게 된다. 때문에 NumberPicker에 숫자를 입력할 수 없게 된다. 숫자 입력이 어렵다면 NumberPicker의 기능을 다 사용할 수 없다.
2. NumberPicker 설정 원래대로 바꿔주기
--------------
numberPicker.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { numberPicker.setDescendantFocusability( NumberPicker.FOCUS_AFTER_DESCENDANTS); return false; } });
--------------
위 코드 또한 onCreat안에 넣어 주면 된다. 지금 보니 보안할 점이 있어 보이지만 귀찮기 때문에 누군가 내 글을 보고 발전 시키는 사람이 있으면 그때 고치길 바란다. 위 코드를 넣으면 touch를 하는 순간 Focus를 가져 올 수 있게 해놓은 것이다. 그러면 다시 NumberPicker의 기능을 잘 활용할 수 있게된다는 것이다.
어떤가요? 참 쉽죠? ㅋㅋ
이런 트릭 없이 그냥 잘 쓸수 있게 만들어 주면 좋을 텐데 말이죠 ㅜ
누군가에게 좋은 팁이 되길 바라며 그럼 이만 마치겠습니다. ㅋ
'Java & Android' 카테고리의 다른 글
안드로이드 간단한 BlurDrawable 구현 (3) | 2016.06.10 |
---|---|
Eclipse에 ADT Plugin 설치 (0) | 2016.06.10 |
[Android] 다른 어플리케이션 실행방법 (0) | 2013.11.25 |
[Android] 4.0 이상에서 IP 주소 가져오기 (0) | 2013.11.25 |
[Android] Paper Flip(Fold) 효과가 적용된 메뉴 구성하기 (2) | 2013.11.18 |
Comments