1 Star 1 Fork 27

一只大冬瓜 / DragPolygonView

forked from Jenly / DragPolygonView 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 6.49 KB
一键复制 编辑 原始数据 按行查看 历史
Jenly 提交于 2020-10-23 15:55 . Update README

DragPolygonView

Download JCenter JitPack CI CircleCI API License Blog QQGroup

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

特性说明

  • 支持添加多个任意多边形
  • 支持通过触摸多边形拖动改变其位置
  • 支持通过触摸多边形的角改变其形状
  • 支持点击、长按、改变等事件监听
  • 支持多边形单选或多选模式

Gif 展示

Image

DragPolygonView 自定义属性说明

属性 值类型 默认值 说明
dpvStrokeWidth float 4 画笔描边的宽度
dpvPointStrokeWidthMultiplier float 1.0 绘制多边形点坐标时基于画笔描边的宽度倍数
dpvPointNormalColor color #FFE5574C 多边形点的颜色
dpvPointPressedColor color 多边形点按下状态时的颜色
dpvPointSelectedColor color 多边形点选中状态时的颜色
dpvLineNormalColor color #FFE5574C 多边形边线的颜色
dpvLinePressedColor color 多边形边线按下状态的颜色
dpvLineSelectedColor color 多边形边线选中状态的颜色
dpvFillNormalColor color #3FE5574C 多边形填充的颜色
dpvFillPressedColor color #7FE5574C 多边形填充按下状态时的颜色
dpvFillSelectedColor color #AFE5574C 多边形填充选中状态时的颜色
dpvAllowableOffsets dimension 16dp 触点允许的误差偏移量
dpvDragEnabled boolean true 是否启用拖动多边形
dpvChangeAngleEnabled boolean true 是否启用多边形的各个角的角度支持可变
dpvMultipleSelection boolean false 是否是多选模式,默认:单选模式
dpvClickToggleSelected boolean false 是否点击就切换多边形的选中状态
dpvAllowDragOutView boolean false 是否允许多边形拖出视图范围

引入

Maven:

<dependency>
  <groupId>com.king.view</groupId>
  <artifactId>dragpolygonview</artifactId>
  <version>1.0.1</version>
  <type>pom</type>
</dependency>

Gradle:

implementation 'com.king.view:dragpolygonview:1.0.1'

Lvy:

<dependency org='com.king.view' name='dragpolygonview' rev='1.0.1'>
  <artifact name='$AID' ext='pom'></artifact>
</dependency>
如果Gradle出现compile失败的情况,可以在Project的build.gradle里面添加如下:(也可以使用上面的GitPack来complie)
allprojects {
    repositories {
        maven { url 'https://dl.bintray.com/jenly/maven' }
    }
}

示例

布局示例

    <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.setPolygonSelected(int position);
    //改变监听
    dragPolygonView.setOnChangeListener(OnChangeListener listener);
    //点击监听
    dragPolygonView.setOnPolygonClickListener(OnPolygonClickListener listener);
    //长按监听
    dragPolygonView.setOnPolygonLongClickListener(OnPolygonLongClickListener listener)

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

版本记录

v1.0.1:2020-10-23

  • 新增点击和长按事件
  • 新增选中相关状态

v1.0.0:2020-10-19

  • DragPolygonView初始版本

赞赏

如果您喜欢DragPolygonView,或感觉DragPolygonView帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢 :smiley:

您也可以扫描下面的二维码,请作者喝杯咖啡 :coffee:

关于我

Name: Jenly

Email: jenly1314#gmail.com / jenly1314#vip.qq.com

CSDN: jenly121

CNBlogs: jenly

GitHub: jenly1314

Gitee: jenly1314

加入QQ群: 20867961

Android
1
https://gitee.com/a-big-wax-gourd/DragPolygonView.git
git@gitee.com:a-big-wax-gourd/DragPolygonView.git
a-big-wax-gourd
DragPolygonView
DragPolygonView
master

搜索帮助