我有一张谷歌地图的片段
<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>
而且我不明白为什么阴影会在底部裁剪:
我该如何解决这个问题?
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>
答案 0 :(得分:1)
只需从imageButton 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