1

У меня есть фрагмент карты, полный экран, и идет за панель навигации и состояния, установив fitsSystemWindows в "false". Это, однако, означает, что объекты карты, такие как компас или логотип Google, также находятся вне системного окна. Я хочу знать, есть ли способ, чтобы только элементы располагались внутри окна. Как вы можете видеть на картинке ниже, логотип Google сидит за панелью навигации, которая мне не очень нравится. Я не хочу устанавливать дополнение, поскольку устройства без программных клавиш будут иметь логотип, расположенный неуместно. Любое рабочее решение оценивается. enter image description hereAndroid: Как поместить только объекты карты внутри системного окна?

ответ

1

Я нашел рабочее решение с помощью таргетинга устройств с программными клавишами и без них, а также с настройкой дополнения, чтобы объекты карты могли входить в рамку на устройствах с программными клавишами. Хотя это не официальный метод, он работает.

boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK); 
boolean hasHomeKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_HOME); 

     if (hasBackKey && hasHomeKey) { 
       googleMap.setPadding(35, 0, 0, 25); 
//for devices with hard keys// 
      } else { 
       googleMap.setPadding(35, 0, 0, 165); 
//for devices with soft keys// 
      } 
     } 

enter image description here