java - 在图像上添加标记/图钉的最佳方法是什么?

标签 java android imageview marker

我已经搜索过这个问题,但答案并不是很清楚不使用位图实现此目的的最佳方法是什么。

我想在图像上添加各种标记/图钉,例如不使用位图的 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/

相关文章:

Android Maps API 2 SHA-1 key 用法

java - 在回收站 View 中切换到下一个 EditText 时,如何保持软键盘向上?

android - 动态添加图像

ios - 我如何快速保存和获取 userDefaults 中的图像值

java - 解析 xml 的更好方法

java - BeanIo 没有此类属性 'property' 问题

java - Android:edittext - 在字母后键入两个空格用句点替换第一个空格

java - 如何停用 SSL 验证?

Android Wear DataMap 条目有效期多长时间

java - 以编程方式更改 ImageView 大小