在圆形视图中使用Google地图片段

5

我想在圆形视图内显示一个Google地图片段。这是我定义的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>

这是我得到的输出:

如您所见,地图片段覆盖了整个框架布局,从而使其成为矩形。我希望将其限制在圆形内部。


如果答案有效,请友善地接受它。 - PunK _l_ RuLz
抱歉,它不起作用。 - AnupamChugh
修改后的答案已经经过尝试和测试,一定能够正常工作 :) - PunK _l_ RuLz
1个回答

0

将Framelayout作为容器添加到您的片段中,并向Framelayout添加背景

Framelayout容器

<FrameLayout
    android:id="@+id/container"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:layout_centerInParent="true"
    android:background="@drawable/circular_background"></FrameLayout>

循环背景

<?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" />

将碎片动态地添加到您的应用程序中。
getSupportFragmentManager().beginTransaction().add(R.id.container, new Circular_fragment()).commit();

使用支持地图片段不起作用。它仍然显示一个正方形视图。 - AnupamChugh
刚刚在 FrameLayout 中添加了支持地图片段标签的功能。 - AnupamChugh
尝试使用FragmentManager动态添加它。 - PunK _l_ RuLz
抱歉,它并不是以那种方式工作。地图只会加载成一个正方形。 - AnupamChugh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接