我已经搜索过这个问题,但答案并不是很清楚不使用位图实现此目的的最佳方法是什么。
我想在图像上添加各种标记/图钉,例如不使用位图的 ImageView。
目标是获得一个可以缩放/平移的大图像(例如室内地图),并且我需要对它上面的所有标记(如位置)进行硬编码。
提前致谢。
最佳答案
我能想到的最简单的方法是使用FrameLayout
:
<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent">
<FrameLayout
android:id="@+id/overlay"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<ImageView
android:id="@+id/yourImageView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>
这里R.id.yourImageView
是带有 map 的 ImageView 。 R.id.overlay 是一个 ViewGroup(FrameLayout 似乎是最简单的,但您可以使用任何您想要的类型),您可以在其中以编程方式添加和定位标记作为 View 对象。标记也可以是另一个已加载图像的 ImageView。
处理 FrameLayout 的方法是,它的所有子级都彼此叠放,这样您就可以使用 R.id.overlay
作为 R.id.yourImageView
上的附加层。
如果您想要缩放/平移,您应该附加 TouchListener
并以某种方式同时操作两个层,但这是另一个主题。
关于java - 在图像上添加标记/图钉的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32814523/