Android-RoundCornerProgressBar
Round Corner Progress Bar Library for Android
Colorful progress bar with round corner on progress which you can customized a color and corner radius.
What's new in version 2.0
- New code structure, Easy for further development
Demo
Round Corner Progress Bar Demo (Play Store)
Round Corner Progress Bar
A simple round corner progress bar that can change a color of progress and background and a corner radius in dp unit (Very Recommended)
Icon Round Corner Progress Bar
A round corner progress bar with a changeable icon on the left of progress bar
Installation
Maven
<dependency>
<groupId>com.akexorcist</groupId>
<artifactId>RoundCornerProgressBar</artifactId>
<version>2.0.3</version> </dependency>
Gradle
compile 'com.akexorcist:RoundCornerProgressBar:2.0.3'
Feature
- Customize to your progress and background color, corner radius, padding between inner component
- Easy to use
Usage
Define 'app' namespace on root view in your layout
xmlns:app="http://schemas.android.com/apk/res-auto"
Include this progress bar library in your layout
<com.akexorcist.roundcornerprogressbar.RoundCornerProgressBar
android:layout_width="dimension"
android:layout_height="dimension"
app:rcProgress="float"
app:rcSecondaryProgress="float"
app:rcMax="float"
app:rcRadius="dimension"
app:rcBackgroundPadding="dimension"
app:rcReverse="boolean"
app:rcProgressColor="color"
app:rcSecondaryProgressColor="color"
app:rcBackgroundColor="color" />
<com.akexorcist.roundcornerprogressbar.IconRoundCornerProgressBar
android:layout_width="dimension"
android:layout_height="dimension"
app:rcProgress="float"
app:rcSecondaryProgress="float"
app:rcMax="float"
app:rcRadius="dimension"
app:rcBackgroundPadding="dimension"
app:rcReverse="boolean"
app:rcProgressColor="color"
app:rcSecondaryProgressColor="color"
app:rcBackgroundColor="color"
app:rcIconSrc="integer"
app:rcIconSize="dimension"
app:rcIconWidth="dimension"
app:rcIconHeight="dimension"
app:rcIconPadding="dimension"
app:rcIconPaddingLeft="dimension"
app:rcIconPaddingRight="dimension"
app:rcIconPaddingTop="dimension"
app:rcIconPaddingBottom="dimension"
app:rcIconBackgroundColor="color" />
Recommended how to set progress bar height
android:layout_height
for RoundCornerProgressBar heightandroid:iconSize
for IconRoundCornerProgressBar height
Public method on RoundCornerProgressBar
int getRadius() void setRadius(int radius) int getPadding() void setPadding(int padding) float getMax() void setMax(float max) float getProgress() void setProgress(float progress) float getSecondaryProgressWidth() float getSecondaryProgress() void setSecondaryProgress(float secondaryProgress) int getProgressBackgroundColor() void setProgressBackgroundColor(int colorBackground) int getProgressColor() void setProgressColor(int colorProgress) int getSecondaryProgressColor() void setSecondaryProgressColor(int colorSecondaryProgress) boolean isReverse() void setReverse(boolean isReverse) void setOnProgressChangedListener(OnProgressChangedListener listener) float getLayoutWidth() void invalidate()
Public method on IconRoundCornerProgressBar
int getIconImageResource() void setIconImageResource(int resId) int getIconSize() void setIconSize(int size) int getIconPadding() void setIconPadding(int padding) int getIconPaddingLeft() void setIconPaddingLeft(int padding) int getIconPaddingRight() void setIconPaddingRight(int padding) int getIconPaddingTop() void setIconPaddingTop(int padding) int getIconPaddingBottom() void setIconPaddingBottom(int padding) int getColorIconBackground() void setIconBackgroundColor(int color) void setOnIconClickListener(OnIconClickListener listener)
Example
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical" >
<com.akexorcist.roundcornerprogressbar.RoundCornerProgressBar
android:id="@+id/progress_1"
android:layout_height="320dp"
android:layout_width="40dp"
app:rcBackgroundPadding="5dp" />
<com.akexorcist.roundcornerprogressbar.IconRoundCornerProgressBar
android:id="@+id/progress_2"
android:layout_height="320dp"
android:layout_width="wrap_content"
app:rcBackgroundPadding="10dp"
app:rcIconSize="50dp"
app:rcIconPadding="5dp" /> </LinearLayout>
RoundCornerProgressBar progress1 = (RoundCornerProgressBar) findViewById(R.id.progress_1);
progress1.setProgressColor(Color.parseColor("#ed3b27"));
progress1.setProgressBackgroundColor(Color.parseColor("#808080"));
progress1.setMax(70);
progress1.setProgress(15);
int progressColor1 = progress1.getProgressColor();
int backgroundColor1 = progress1.getProgressBackgroundColor();
int max1 = progress1.getMax();
int progress1 = progress1.getProgress();
RoundCornerProgressBar progress2 = (RoundCornerProgressBar) findViewById(R.id.progress_1);
progress2.setProgressColor(Color.parseColor("#56d2c2"));
progress2.setProgressBackgroundColor(Color.parseColor("#757575"));
progress2.setIconBackgroundColor(Color.parseColor("#38c0ae"));
progress2.setMax(550);
progress2.setProgress(147);
progress2.setIconImageResource(imageResource);
int progressColor2 = progress2.getProgressColor();
int backgroundColor2 = progress2.getProgressBackgroundColor();
int headerColor2 = progress2.getColorIconBackground();
int max2 = progress2.getMax();
int progress2 = progress2.getProgress();
Documentation
Thai Language : Round Corner Progress Bar ????????????????
Special Thanks
Artit Kuiwilai @first087
Next
• Add Text Round Corner Progress Bar (Underconstruction)
TextRoundCornerProgressBar Additional attribute for TextRoundCornerProgressBar
rcTextProgressColor rcTextProgressSize rcTextProgressMargin rcTextProgress
Additional method for TextRoundCornerProgressBar
String getProgressText() void setProgressText(String text) void setProgress(float progress) int getTextProgressColor() void setTextProgressColor(int color) int getTextProgressSize() void setTextProgressSize(int size) int getTextProgressMargin() void setTextProgressMargin(int margin)
Licence
Copyright 2015 Akexorcist
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or 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.