DragPolygonView

任意多边形控件
授权协议 MIT
开发语言 Java
所属分类 手机/移动开发、 Android UI 组件
软件类型 开源软件
地区 国产
投 递 者 松旻
操作系统 Android
开源组织
适用人群 未知
 软件概览

DragPolygonView for Android 是一个支持可拖动多边形,支持通过拖拽多边形的角改变其形状的任意多边形控件。

特性说明

  •  支持添加多个任意多边形
  •  支持通过触摸多边形拖动改变其位置
  •  支持通过触摸多边形的角改变其形状

Gif 展示

DragPolygonView 自定义属性说明

属性 值类型 默认值 说明
dpvStrokeWidth float 4 画笔描边的宽度
dpvPointStrokeWidthMultiplier float 1.0 绘制多边形点坐标时基于画笔描边的宽度倍数
dpvPointNormalColor color #FFE5574C 多边形点的颜色
dpvPointPressedColor color   多边形点按下状态时的颜色
dpvLineNormalColor color #FFE5574C 多边形边线的颜色
dpvLinePressedColor color   多边形边线按下状态的颜色
dpvFillNormalColor color #3FE5574C 多边形填充的颜色
dpvFillPressedColor color #7FE5574C 多边形填充按下状态时的颜色
dpvAllowableOffsets dimension 16dp 触点允许的误差偏移量
dpvDragEnabled boolean true 是否启用拖动多边形
dpvChangeAngleEnabled boolean true 是否启用多边形的各个角的角度支持可变

示例

布局示例

<com.king.view.dragpolygonview.DragPolygonView
        android:id="@+id/dragPolygonView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

代码示例

//添加多边形
    dragPolygonView.addPolygon(Polygon polygon)
    //添加多边形(多边形的各个点)
    dragPolygonView.addPolygon(PointF... points)
    //改变监听
    dragPolygonView.setOnChangeListener(OnChangeListener listener);

更多使用详情,请查看app中的源码使用示例

 相关资料
  • 我在传单地图上有一组无组织的点,在我的实现中,这些点表示Minecraftarium.com/map上Minecraftarium.com/map上地图上的领土节点。目前,我的实现只获取点,并使用传单在点周围画一个圆来大致指示控制区域。 然而,这有点难看,也不代表期望的最终结果,即从给定一组数据的边缘点绘制多边形区域。然而,由于这些点的无组织性质,我没有简单的方法来宣布这些点上的“边缘点”,因为它

  • 我有一个任意数目的多边形(在本例中是六边形),它们是随机排列的,但它们都在接触另一个六边形。 每个单独的十六进制有6个x,y顶点。顶点以所有的四边形而闻名。 谁能给我指出一个算法的方向,将所有的四边形组合成一个单一的多边形?本质上,我只是在寻找一个函数,它可以吐出一个顶点位置数组,这些顶点位置是以一种方式排列的,当从一个到下一个画线时,它就形成了多边形。 null 有什么函数可以做这样的事情吗?我

  • 返回顶点的输入数组,并且附有一些其他方法,如下面所描述 polygon.area() 返回此多边形的标定区域。如果顶点是逆时针顺序,面积为正,否则为负。 polygon.centroid() 返回一个表示此多边形的质心的两元素数组。 polygon.clip(subject) 对这个多边形剪切主题多边形。换句话说,返回一个多边形表示这个多边形和主题多边形的交集。假定剪切的多边形是逆时针方向以及凸多

  • 问题内容: 假设我有一组任意的纬度和经度对,它们代表一些简单的闭合曲线上的点。在笛卡尔空间中,我可以使用格林定理轻松计算出此类曲线所包围的面积。计算球体表面面积的类似方法是什么?我想我所追求的是Matlabareaint函数背后的算法(甚至是近似算法)。 问题答案: 有几种方法可以做到这一点。 1)整合纬度带的贡献。此处每个条带的面积为(Rcos(A)(B1-B0))(RdA),其中A为纬度,B1

  • 基础示例 <vuep template="#example"></vuep> <script v-pre type="text/x-template" id="example"> <template> <div class="amap-page-container"> <el-amap vid="amap" :zoom="zoom" :amap-manager="ama

  • SVG 多边形 - <polygon> 实例 1 <polygon> 标签用来创建含有不少于三个边的图形。 多边形是由直线组成,其形状是"封闭"的(所有的线条 连接起来)。 polygon来自希腊。 "Poly" 意味 "many" , "gon" 意味 "angle". 下面是SVG代码: <svg xmlns="http://www.w3.org/2000/svg" version="1.1"