谷歌地图片段在圆形视图中

Anu*_*ugh 5 android google-maps android-fragments

我想在圆形视图中显示Google Map片段.这是我定义的XML布局:

    <FrameLayout
    android:layout_width="200dp"
    android:layout_centerInParent="true"
    android:layout_height="200dp">



    <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="200dp"
        android:layout_gravity="center"

        android:layout_height="200dp"
         />


    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/circle"
        android:layout_gravity="center" />


</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出:

如您所见,地图片段覆盖整个帧布局,从而使其成为矩形.我想把它绑在圈内.

Pun*_*uLz 0

将框架布局作为片段的容器并向框架布局添加背景

框架布局容器

<FrameLayout
    android:id="@+id/container"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:layout_centerInParent="true"
    android:background="@drawable/circular_background"></FrameLayout>
Run Code Online (Sandbox Code Playgroud)

圆形背景

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<stroke
    android:width="3dip"
    android:color="#B1BCBE" />
<corners android:radius="200dip" />
<padding
    android:bottom="0dip"
    android:left="0dip"
    android:right="0dip"
    android:top="0dip" />
Run Code Online (Sandbox Code Playgroud)

将片段动态添加到您的应用程序中

getSupportFragmentManager().beginTransaction().add(R.id.container, new Circular_fragment()).commit();
Run Code Online (Sandbox Code Playgroud)