복사금지 블로그 짜증나서 만든 개발문서

안드로이드 액션바가 제대로 적용 안 되는 문제 해결

vnamu 2021. 3. 7. 22:54
반응형

2일동안 수많은 액션바 소스를 다운받아서 테스트해보았는데

이상하게 제대로 적용이 안 되서

 

원인이 소스에 있는게 아니라고 판단....

 

뭔가 다른 이유가 있을꺼라고 보고 알아봤더니

 

메뉴키가 있는 경우에는 액션바가 제대로 적용 안 될 가능성이 있다...

 

정확히는 기억이 안 나지만

 

갤럭시s4까지는 하단키가 "메뉴, 홈, 이전" 버튼이고...

갤럭시s5부터는 하단키가 "작업관리자, 홈, 이전" 버튼이다...

 

즉.. 소프트키 구성이 "메뉴, 홈, 이전" 이면 액션바가 제대로 작동 안 한다.

 

이걸 해결 할려면 온크릿트(onCreate)에 아래의 소스를 넣으면 된다.

 

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  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) {}

 }

반응형