簡體   English   中英

Android-如何在Google地圖上設置Google徽標的底部填充

[英]Android - How to set bottom padding for Google Logo on Google Maps

在iOS中,這非常簡單。

不過,在Android中,我嘗試通過android:paddingBottom=80dp"mapView.setPadding(0,0,0,80) xml來通過XML添加填充到地圖底部。在兩種情況下,地圖會向上移動以及是否被剪切,並且會出現一個空格,實際上只有Google徽標應該向上移動,而地圖應該保持全高。

這是我的xml:

<com.google.android.gms.maps.MapView
    android:id="@+id/mapView"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

因此,mapView繼續以全高繼續運行,但是Google Maps的地圖由於其填充而向上移動。 有沒有辦法在Google地圖的地圖保持完整的情況下僅向上移動Google徽標?

在此處輸入圖片說明

MapView只是地圖的FrameLayout容器。 相反,應在onMapReady回調中將填充添加到GoogleMap對象。 像這樣:

@Override
public void onMapReady(GoogleMap map) {
         map.setPadding(0,0,0,80);
}

還請記住,此處的填充值以像素為單位,您可以使用此功能進行轉換:

 public static int dpToPx(int dp, Context context) {
        DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
        return Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
 }


public static void setPaddingForGoogleLogo(GoogleMap map, Context context) {
    map.setPadding(LayoutUtils.dpToPx(15, context),
            LayoutUtils.dpToPx(45, context),
            LayoutUtils.dpToPx(0, context),
            LayoutUtils.dpToPx(85, context));
}

上面的值在我的情況下有效,與您的相似,但可能您需要進行一些測試

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM