我需要显示谷歌地图的圆圈形状如下图所示。
我现在使用的解决方案如下:

 <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中所述。

07-27 17:48