2017-01-29 1 views
0

Ich versuche, eine Google Map unter einer transparenten Systemleiste zu haben. Mein Problem ist, dass die UI-Steuerelemente (Kompass und Meine Standorttasten) von der Toolbar verdeckt werden. Wie behebe ich das? Beachten Sie, dass die Einstellung android:fitsSystemWindows="true" auf der Karte nicht die Lösung ist - es verhindert, dass die Karte unter der Systemleiste gezeichnet wird.Android Google Maps transparente Systemleiste verursacht UI-Steuerelemente überlappen die Symbolleiste

Ich bilde die Systemleiste transparent, indem:

<item name="android:windowTranslucentStatus">true</item> 
<item name="android:windowTranslucentNavigation">true</item> 

in meinem Stil.

enter image description here

Antwort

1

Nur eine Polsterung an der Spitze der Karte hinzufügen. Zum Beispiel:

googleMap.setPadding(0, 100, 0, 0); 

Von the documentation (Hervorhebung von mir):

Diese Methode ermöglicht es Ihnen, einen sichtbaren Bereich auf der Karte zu definieren, auf die Karte, um zu signalisieren, dass Teile der Karte an den Rand können verdeckt werden, indem Sie auf jeden der vier Ränder der Karte ein Padding setzen. Kartenfunktionen werden an das Padding angepasst. Zum Beispiel das Zoomsteuerung, Kompass, Copyright-Vermerke und Google-Logo wird innerhalb des definierten Bereichs passen, Kamerabewegungen in der Mitte des sichtbaren Bereichs, usw.

seinen relativ bewegt werden