我需要显示谷歌地图的圆圈形状如下图所示。
我现在使用的解决方案如下:
<packagename.views.SquareWidthRelativeLayout
android:id="@+id/map_wrapper"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/map_fragment"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<RelativeLayout
android:id="@+id/map_button"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/map_round_border"
android:clickable="true"
android:focusable="true"></RelativeLayout>
</packagename.views.SquareWidthRelativeLayout>
所以事实上,我只是覆盖了一个新的相对布局层与可绘制的圆形PNG。这个解决方案工作良好,看起来还不错。不幸的是,现在我不得不在整个布局下面显示背景图像。所以我的解决方案在这种情况下不起作用,因为它有白色的背景图像,将覆盖在主背景之上。
有没有其他的解决方案来实现这个结果,而不使用可绘制的覆盖层?
最佳答案
创建一个custom view-圆。将其用作子视图。Here是这样做的教程。把地图碎片放在这个视图里。
然后将imageview放在relativelayout中这个自定义视图之前,如this answer中所述。