我想创建一个活动,用户可以在其中查看每个州的一些统计信息,如下所示:
州活动示例
每个州的颜色基于统计数据,当用户点击每个州时,另一个活动就会打开。我的问题是如何实现这一目标?我可以创建50个片段但是如何为每个片段定义特定的形状(类似于地图)?好像谷歌地图可能有一些API,但我找不到任何好的参考。
不幸的是我找不到适合这个问题的实现,我能想到的最好的事情就是这样:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.vira.as.testmap.MainActivity">
<ImageView
android:id="@+id/im1"
android:layout_width="135dp"
android:layout_height="320dp"
android:src="@drawable/california"/>
<ImageView
android:id="@+id/im2"
android:layout_width="200dp"
android:layout_height="370dp"
android:src="@drawable/nevada"
android:layout_marginStart="29dp"
android:layout_marginBottom="42dp"
android:layout_alignBottom="@+id/im1"
android:layout_alignParentStart="true" />
<ImageView
android:id="@+id/im3"
android:layout_width="125dp"
android:layout_height="200dp"
android:src="@drawable/arizona"
android:layout_marginBottom="128dp"
android:layout_alignParentBottom="true"
android:layout_alignStart="@+id/im2"
android:layout_marginStart="88dp" />
</RelativeLayout>
答案 0 :(得分:0)
您无法定义片段的形状,因为它是视图的不可见矩形容器。也许这就是你要找的东西(见[1]:https://developers.google.com/maps/documentation/android-api/shapes)。尝试在地图的前景中绘制透明度(0 < α < 1
)的多边形区域并处理点击事件。