/WidgetCase

自定义控件模块库:各种风格的自定义控件,拿来就用,API文档详细,持续集成,长期维护,有问必答;

Primary LanguageJavaApache License 2.0Apache-2.0

WidgetCase

English Introduction

项目介绍

不会自定义View?不会触摸反馈?莫慌,这里将消除你的畏惧感。本库是跟着公司项目走了一年之久的自定义控件Library,稳定性和兼容性已有所保障。由于公司项目偏向于统计类,所以项目里更多的是这方面的控件;但既然把库都抽出来了,就绝不可能只是涉及到统计类这块,会发散到更多的应用场景中去。因此,此库会一直维护下去(决心表的很大)。当然一个人的力量总是有限的,在这期待更多志同道合的码友们的加入,大家在一起干点轰轰烈烈的事情。

特别声明

Library中部分控件来自HenCoder plus 3期课程内容,HenCoder是一个针对Android进阶很有帮助的内容(质量非常高)输出平台,如对HenCoder有兴趣的可以去 https://hencoder.com/ 了解更多情况

效果刷一波,毕竟是看脸吃饭的年代

功能目录

峰值图>>>[TaperChart & TaperChartLayout & HorTaperChart] & 渐变曲线>>>[GradientLine]

image image image

(波浪加载控件)[CircleWaveView] & (仿网易一元夺宝下拉效果)[RefreshView]

image image

图文混排>>>[ImgTxtMixtureView] & 手势放大缩小图片>>>[MatrixView]

image

圆环进度>>>[RingView & LegendRingView]

LFT:圆环进度带底部角标>>>[CircleProgressBarView] MID:带刻度的圆环>>>[GradientProBar] RGT:横向进度-带进度提示>>>[HorProBar]

图片滤镜>>>[ColorMatrixActivity & ColorHueActivity]

image

时间刻度尺(支持缩放)>>>[TimeRulerView] & 圆形按钮(跟随设备一起旋转,实时监控旋转方向)>>>[CircleButton]

image image

自定义滑动控件(支持多指触控、惯性滑动、自定义滚动条)>>>[CustomScrollView] & 自定义ViewPager的滑动动画>>>[ScaleAlphaTransformer]

image image

图片翻转动画(通过 Camera 和 Canvas 控制位图的翻转折叠效果)>>>[BmpOverturnView]

image

自定义控件分布如下

峰值图
  1. TaperChart
  2. TaperChartLayout
  3. HorTaperChart
波浪加载控件

CircleWaveView

仿网易一元夺宝下拉刷新控件

RefreshView

圆形进度条
  1. CircleProgress
  2. GradientProBar
  3. CircleProgressBarView
  4. CircleView
环形进度条
  1. RingView
  2. LegendRingView(内含图例)
半圆/油表
  1. HalfCircleProView
横向进度条
  1. HorProBar
  2. SectionProBar
  3. ShadowProBar
  4. LoadingLineView
渐变曲线

GradientLine

图文混排

ImgTxtMixtureView

防微信图片查看器,双击放大/缩小

MatrixView

系统控件重写
  1. FixGridView
  2. FixListView
  3. NoScrollViewPager
贝塞尔曲线练练手

PathMorphBezier

图片滤镜
  1. ColorMatrix
  2. ColorHue
时间刻度尺(支持缩放)

TimeRulerView

圆形按钮(跟随设备一起旋转,实时监控旋转方向)

CircleButton

自定义滑动控件(支持多指,支持惯性滑动,支持自定义滚动条)

CustomScrollView

ScaleAlphaTransformer(自定义ViewPager的滑动动画)

ScaleAlphaTransformer

图片翻转动画

BmpOverturnView

Download

Step 1.

allprojects {
    repositories {
        ...
        maven {
            url 'http://47.93.38.184:8081/nexus/content/repositories/faithhb/'
        }
        maven {
            url 'http://47.93.38.184:8081/nexus/content/repositories/github/' // widget发布版本已切换到该目录
        }
    }
}

Step 2.

Gradle:

implementation 'com.faithhb:widgetcase:1.0.3'

widgetcase最新版本:

or

aar:

implementation(name: 'hawkeye_widget-release', ext: 'aar')

or

添加本地依赖:

implementation project(':hawkeye_widget')

Proguard

-dontwarn com.dongni.**
-keep class com.dongni.** { *; }

# 页面modle避免混淆
-keep class com.doyou.cv.bean.**{*; }
-keep class com.doyou.cv.WLogger{*; }

-keep class com.doyou.cv.widget.**
-keepclassmembers class com.doyou.cv.widget.** {
    public *;
}

# 工具类避免混淆
-keep class com.doyou.cv.utils.**
-keepclassmembers class com.doyou.cv.utils.** {
    public *;
}

有问题怎么办?

首先有问题的话,可以提issue,我会经常去看的,也可以加我微信。

想加入一起来维护这个开源项目,该怎么操作?

你可以先fork下来这个项目然后自己去修改一些网友的问题或者自己发现的问题和需要优化的地方;当然也可以加入自己原创的自定义控件;再通过发pr的形式给我,我会第一时间查看代码并进行测试及合并代码。 这样坚持提交超过3个pr的小伙伴(并且质量不错的),我会直接邀请他称为该项目的开发者,真正做到方便,快速的维护这个开源库。。。

联系方式:

微信:faith-hb
QQ:907167515

License

Copyright 2019 faith-hb

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.