У меня есть фрагмент карты, полный экран, и идет за панель навигации и состояния, установив fitsSystemWindows
в "false"
. Это, однако, означает, что объекты карты, такие как компас или логотип Google, также находятся вне системного окна. Я хочу знать, есть ли способ, чтобы только элементы располагались внутри окна. Как вы можете видеть на картинке ниже, логотип Google сидит за панелью навигации, которая мне не очень нравится. Я не хочу устанавливать дополнение, поскольку устройства без программных клавиш будут иметь логотип, расположенный неуместно. Любое рабочее решение оценивается. Android: Как поместить только объекты карты внутри системного окна?
1
A
ответ
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//
}
}