All Projects → GuilhE → Circularprogressview

GuilhE / Circularprogressview

Licence: apache-2.0
A fancy CircularProgressView

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Circularprogressview

SignatureView
【Android View】:好用的Android电子签名板,能保存所签名的图片
Stars: ✭ 89 (-28.23%)
Mutual labels:  android-view
Smarttable
一款android自动生成表格框架---An Android automatically generated table framework
Stars: ✭ 4,621 (+3626.61%)
Mutual labels:  android-view
Chinamapview
自定义View,可缩放、可平移、可点击的中国地图,有中国地图的全部省份,具备每个省份的点击接口
Stars: ✭ 1,250 (+908.06%)
Mutual labels:  android-view
Colorpicker
🎨 A color picker for Android. Pick a color using color wheel and slider (HSV & alpha).
Stars: ✭ 254 (+104.84%)
Mutual labels:  android-view
Shadowhelper
A library to add shadows for the Android View.(一个方便为Android View添加自然的阴影的库)
Stars: ✭ 322 (+159.68%)
Mutual labels:  android-view
Polygondrawingutil
A compact Android utility for constructing and drawing rounded regular polygons.
Stars: ✭ 805 (+549.19%)
Mutual labels:  android-view
com.jonaswanke.calendar
📅 Material Design CalendarView for Android
Stars: ✭ 46 (-62.9%)
Mutual labels:  android-view
Anychart Android
AnyChart Android Chart is an amazing data visualization library for easily creating interactive charts in Android apps. It runs on API 19+ (Android 4.4) and features dozens of built-in chart types.
Stars: ✭ 1,762 (+1320.97%)
Mutual labels:  android-view
Edgetranslucent
Android 任意View边沿渐变透明
Stars: ✭ 461 (+271.77%)
Mutual labels:  android-view
Arcpointer
Arc pointer - simple customized progress bar in the form of an arch
Stars: ✭ 75 (-39.52%)
Mutual labels:  android-view
Avatar View
Avatar ImageView with user's name first letter Drawable placeholder
Stars: ✭ 309 (+149.19%)
Mutual labels:  android-view
Proswipebutton
A swipe button for Android with a circular progress bar for async operations
Stars: ✭ 319 (+157.26%)
Mutual labels:  android-view
Xcdanmuview
Android弹幕效果View-支持左右两个方向
Stars: ✭ 28 (-77.42%)
Mutual labels:  android-view
CustomViewCollection
Android自定义View库
Stars: ✭ 17 (-86.29%)
Mutual labels:  android-view
Androidanimationexercise
Android 动画各种实现,包括帧动画、补间动画和属性动画的总结分享
Stars: ✭ 1,254 (+911.29%)
Mutual labels:  android-view
ChinaMapView
自定义View,可缩放、可平移、可点击的中国地图,有中国地图的全部省份,具备每个省份的点击接口
Stars: ✭ 1,211 (+876.61%)
Mutual labels:  android-view
Androidtips
A collections of tips in Android developing.Android开发总结。我的博客:
Stars: ✭ 713 (+475%)
Mutual labels:  android-view
Zjywidget
🎨 一组实用炫酷自定义View的集合(包括源码及demo)包括常见的支付、扫描、解锁动画、炫酷转盘式菜单等效果。A collection of Android cool custom views
Stars: ✭ 121 (-2.42%)
Mutual labels:  android-view
Smiley Rating
A custom android Rating view with Interactive Smiles 😄
Stars: ✭ 103 (-16.94%)
Mutual labels:  android-view
Vector Analog Clock
A Simple Customizable VectorAnalogClock Android View
Stars: ✭ 73 (-41.13%)
Mutual labels:  android-view

CircularProgressView

Android Arsenal Preview-Appetize.io

A fancy CircularProgressView.

Installation

CircularProgressView is distributed through Maven Central, Jcenter and Jitpack.

implementation 'com.github.guilhe:circular-progress-view:${LATEST_VERSION}'

Maven Central Download Bintray

Usage

Check out the sample module where you can find a few examples of how to create it by xml or java.

Attributes accepted in xml:

    <attr name="max" format="integer" />
    <attr name="shadow" format="boolean" />
    <attr name="progressThumb" format="boolean" />
    <attr name="progressThumbSize" format="dimension" />
    <attr name="progressThumbSizeRate" format="float" />
    <attr name="progressThumbSizeMaxRate" format="float" />
    <attr name="startingAngle" format="integer" />
    <attr name="progress" format="integer" />
    <attr name="progressBarThickness" format="dimension" />
    <attr name="progressBarColor" format="color" />
    <attr name="progressBarColorArray" format="reference" />
    <attr name="progressBarColorArrayPositions" format="reference" />
    <attr name="duplicateFirstColorInArray" format="boolean" />
    <attr name="progressBarRounded" format="boolean" />
    <attr name="progressBackgroundColor" format="color" />
    <attr name="progressBackgroundAlphaEnabled" format="boolean" />
    <attr name="reverse" format="boolean" />
    <attr format="enum" name="progressThumbScaleType">
        <enum name="auto" value="0"/>
        <enum name="point" value="1"/>
        <enum name="rate" value="2"/>
    </attr>

Example:

<com.github.guilhe.views.CircularProgressView
    android:layout_width="100dp"
    android:layout_height="100dp"
    app:progress="60"
    app:progressBarThickness="10dp"
    app:progressBarColor="@android:color/holo_purple"/>

BindingAdapters

You can take advantage of Binding Adapters (from Data Binding) to create some helper attributes, example:

@BindingAdapter("progressAnimated")
fun setProgressAnimated(view: CircularProgressView, progress: Int) {
    view.setProgress(progress, true);
}
<com.github.guilhe.views.CircularProgressView
    ...
    app:progressAnimated="@{viewModel.progress}"/>

Progress with gradient

For the given array of colors:

<array name="rainbow">
    <item>#FFF60000</item>
    <item>#FFFF8C00</item>
    <item>#FFFFEE00</item>
    <item>#FF4DE94C</item>
    <item>#FF3783FF</item>
    <item>#FF4815AA</item>
</array>

The default result will be (left):

To achieve the result on the right side you have two options: either copy the first color and add it as last, or use the helper attribute/method that does that for you:

<attr name="duplicateFirstColorInArray" format="boolean"/>
fun setProgressColors(@NonNull @ColorInt int[] colors, @Nullable float[] positions, boolean duplicateFirst)

Finally, you may also use the attribute progressBarColorArrayPositions to pass a float[] positions:

<array name="rainbow_positions">
    <item type="dimen" format="float">.44</item>
    ...
</array>

note: when using the helper function and positions[], you'll have to add an extra position for the last one being copied.

There are many methods to help you customize this View by code. For more details checkout the sample app, javadocs or the code itself.

"Multiple Progress" for PieChart

fun setProgress(@NonNull List<Float> progressList, @NonNull List<Integer> progressColorList)

This mode can be used to display a simple pie chart. It will disable the progress thumb, the background color and the progress will not be round.

Sample

Sample

Animation last update on April, 2019

Get it on Google Play

Dependencies

Bugs and Feedback

For bugs, questions and discussions please use the Github Issues.

LICENSE

Copyright (c) 2017-present, GuilhE.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].