为什么在Google地图上裁剪阴影?

时间:2016-11-29 11:10:07

标签: java android google-maps

我有一张谷歌地图的片段

        <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="48dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_alignWithParentIfMissing="true"
        tools:context="ru.travelpath.activity.MapsActivity"/>

地图上有阴影的按钮:

        <!-- List button -->
        <FrameLayout
            android:id="@+id/listButton"
            android:layout_width="56dp"
            android:layout_height="56dp"
            android:layout_gravity="end"
            android:layout_marginEnd="16dp"
            android:layout_marginTop="16dp"
            android:background="@drawable/button_list"
            android:onClick="openObjectsList"
            android:elevation="15dp"
            android:translationZ="5dp">

            <ImageView
                android:id="@+id/listButtonIcon"
                android:layout_width="24dp"
                android:layout_height="24dp"
                android:layout_gravity="center"
                android:scaleType="center"
                android:src="@drawable/list"
                android:contentDescription="@string/list_objects" />
        </FrameLayout>

而且我不明白为什么阴影会在底部裁剪:

shadow on button

我该如何解决这个问题?

upd:它是button_list xml,它只是一个圆圈:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Larger blue circle in back -->
    <item>
        <shape android:shape="oval">
            <solid android:color="@color/white_two"/>
            <size
                android:width="15dp"
                android:height="15dp"/>
        </shape>
    </item>
</layer-list>

1 个答案:

答案 0 :(得分:1)

只需从im​​ageButton parent xml

添加此行

android:layout_marginBottom =“16dp”,因为你没有保持两边的边距

<FrameLayout
            android:id="@+id/listButton"
            android:layout_width="56dp"
            android:layout_height="56dp"
            android:layout_marginBottom="16dp"
            android:layout_gravity="end"
            android:elevation="15dp"
            android:layout_marginEnd="16dp"
            android:layout_marginTop="16dp"
            android:background="@drawable/button_list"
            android:onClick="openObjectsList"
            android:translationZ="5dp">

            <ImageView
                android:id="@+id/listButtonIcon"
                android:layout_width="24dp"
                android:layout_height="24dp"
                android:layout_gravity="center"
                android:scaleType="center"
                android:src="@drawable/list"
                android:contentDescription="@string/list_objects" />
        </FrameLayout>

这一行

android:layout_marginBottom="16dp"

你可以参考这篇文章,如何为按钮添加阴影 How to provide shadow to Button