안드로이드 기기 버튼의 종류는 전면에 버튼이 없는 소프트키 기기와 메뉴, 홈, 뒤로가기 키 같이 하드웨어 키로 이루어진 경우로 나누어집니다.
근데 소프트키의 대부분은 하드웨어의 메뉴 버튼이 멀티태스킹 버튼으로 대체하기 때문에 메뉴 키가 따로 없습니다.
그래서 소프트키가 있는 휴대폰은 상단에 Overflow 메뉴가 나타납니다.(점 땡땡땡)
하지만 이 메뉴는 하드웨어키를 사용하는 기기에는 보이지 않습니다.
메뉴키가 하단에 이미 있기 때문에 크게 상관은 없지만 UI 일관성에는 별로 좋지 않습니다.
안드로이드 개발 - 소프트키에서만 나타나는 Overflow메뉴 일반 기기에서도 활성화하기
앱을 로드하는 맨 처음 액티비티에 몇줄의 코드에 삽입함으로써 이 문제를 해결할 수 있습니다.
일반 하드웨어키를 사용하는 기기에서도 소프트웨어 키를 사용하는 기기같이 상단에 Overflow 메뉴가 나타납니다.
try { ViewConfiguration config = ViewConfiguration.get(this); Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey"); if(menuKeyField != null) { menuKeyField.setAccessible(true); menuKeyField.setBoolean(config, false); } } catch (Exception ex) { // Ignore }
도움이 되셨나요?
그럼 손가락을 눌러주세요:)
'Development > Android' 카테고리의 다른 글
[Android] Android Emulator가 필요로 하는 의존 패키지 목록 (0) | 2019.11.03 |
---|---|
Android Studio에서 프로젝트 이름 변경하기 (0) | 2019.10.14 |
안드로이드 개발 - 비트맵(Bitmap) 비율 맞추면서 크기 줄이기(썸네일 생성) (0) | 2014.03.29 |
안드로이드 개발 - ImageView 다양한 표시 방법 android:scaleType (0) | 2014.03.15 |
안드로이드 개발 - 파일(File) 유무 확인하기 (0) | 2014.03.11 |