我正在寻找一种方法来显示图像并让用户点击图像的不同部分来导航和执行操作。
我正在考虑使用 invisible color map检查哪些部分已被触摸。
但由于我还想突出显示所选区域,所以我在考虑使用矢量。
有一个很好的库可以将 svg 文件渲染到 ImageView 中 here ,但它不处理触摸。
那里有图书馆吗?或者有更聪明的方法吗?
(我也检查了 this project 但它不会吞下 .svg 文件,而且我的矢量图太复杂了,无法手动插入所有数据)
最佳答案
有趣的问题!我不相信您不能组合使用您提到的库。
我要做的是首先使用 SVG-Android 以编程方式读取您的 SVG 文件。查看 SVG-Android,它似乎将最终产品作为 PictureDrawable
返回,它是 Drawable 的子类。
SVG-Android 处理完 SVG 图形后,我会立即使用 ImageView.setImageDrawable使用我们刚刚生成的 PictureDrawable
加载主 ImageView
。然后我将使用 ImageView
作为实现 "Images with Clickable Areas" 的基础您链接了原始问题。
老实说,我认为最难的部分是让 SVG-Android 正常工作(我玩过一些,但有点挑剔)。但是,我认为将 SVG 生成的可绘制对象与可点击区域结合起来不会有太大困难。这是基本图像源的简单更改。
祝你好运!
关于安卓图像映射。 - 显示 .svg 并将其用作图像映射(触摸区域),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17543389/