• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

DragPolygonView: 一个支持可拖动多边形,可拖动多边形的角改变其形状的任意多边形控 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

DragPolygonView

开源软件地址:

https://gitee.com/jenly1314/DragPolygonView

开源软件介绍:

DragPolygonView

DownloadJCenterJitPackCICircleCIAPILicenseBlogQQGroup

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

特性说明

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

Gif 展示

Image

DragPolygonView 自定义属性说明

属性值类型默认值说明
dpvStrokeWidthfloat4画笔描边的宽度
dpvPointStrokeWidthMultiplierfloat1.0绘制多边形点坐标时基于画笔描边的宽度倍数
dpvPointNormalColorcolor#FFE5574C多边形点的颜色
dpvPointPressedColorcolor多边形点按下状态时的颜色
dpvPointSelectedColorcolor多边形点选中状态时的颜色
dpvLineNormalColorcolor#FFE5574C多边形边线的颜色
dpvLinePressedColorcolor多边形边线按下状态的颜色
dpvLineSelectedColorcolor多边形边线选中状态的颜色
dpvFillNormalColorcolor#3FE5574C多边形填充的颜色
dpvFillPressedColorcolor#7FE5574C多边形填充按下状态时的颜色
dpvFillSelectedColorcolor#AFE5574C多边形填充选中状态时的颜色
dpvAllowableOffsetsdimension16dp触点允许的误差偏移量
dpvDragEnabledbooleantrue是否启用拖动多边形
dpvChangeAngleEnabledbooleantrue是否启用多边形的各个角的角度支持可变
dpvMultipleSelectionbooleanfalse是否是多选模式,默认:单选模式
dpvClickToggleSelectedbooleanfalse是否点击就切换多边形的选中状态
dpvAllowDragOutViewbooleanfalse是否允许多边形拖出视图范围
dpvTextSizedimension16sp是否允许多边形拖出视图范围
dpvTextNormalColorcolor#FFE5574C多边形文本的颜色
dpvTextPressedColorcolor多边形文本按下状态的颜色
dpvTextSelectedColorcolor多边形文本选中状态的颜色
dpvShowTextbooleantrue是否显示多边形的文本
dpvFakeBoldTextbooleanfalse多边形Text的字体是否为粗体

引入

Maven:

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

Gradle:

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

Lvy:

<dependency org='com.king.view' name='dragpolygonview' rev='1.0.2'>  <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.2:2020-12-2

  • Polygon新增Text属性(可显示在多边形中间)

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap