FillProgressLayout
FillProgressLayout copied to clipboard
A simple and flexible Fillable Progress Layout written in Kotlin

FillProgressLayout
:fire:A simple and flexible Fill Progress Layout written in Kotlin:fire:

Netflix button animation using FillProgressLayout

Support Library alternative is available here
Installation
- Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- Add the dependency in app gradle
dependencies {
implementation 'com.github.JDevZone:FillProgressLayout:{latest_version}'
}
Basic usage
As
FillProgressLayout
is direct child ofLinearLayout
you can replace LinearLayout with it as follows
<com.devzone.fillprogresslayout.FillProgressLayout
android:id="@+id/fillL"
android:layout_margin="30dp"
app:fpl_backgroundColor="@color/colorRedTrans"
app:fpl_progressColor="@color/colorGreenTrans"
app:fpl_isRounded="false"
app:fpl_progress="0"
app:fpl_progressDuration="3000"
app:fpl_progressDirection="left_to_right"
app:fpl_shouldRestart="false"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<--childviews-->
</com.devzone.fillprogresslayout.FillProgressLayout>
Alternatively
You can use
FillProgressLayout
as background for other layouts.
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<--as background for AppCompatTextView-->
<com.devzone.fillprogresslayout.FillProgressLayout
android:layout_alignBottom="@+id/tv"
android:layout_alignParentTop="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv"
android:text="@string/app_name"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>
Samples
Fill Direction | Demo |
---|---|
Left To Right |
![]() |
Right To Left |
![]() |
Top To Bottom |
![]() |
Bottom To Top |
![]() |
Additional
Rounded Corners sample

Gradient Progress sample

Customisation
Here are the attributes you can specify through XML or related setters programatically:
-
fpl_backgroundColor
- Set background color. -
fpl_progressColor
- Set progress color. -
fpl_isRounded
- Set true if you need rounded corners. -
fpl_roundedCornerRadius
- Set radius for round corners. -
fpl_progress
- Set current progress. -
fpl_progressDuration
- Set fill duration. -
fpl_shouldRestart
- Set if progress filling should restart from 0. -
fpl_progressDirection
- Set fill direction. i.e.left_to_right
,right_to_left
,top_to_bottom
orbottom_to_top
-
fpl_gradientColors
- Set array of gradient colors i.e.@array/gradientColors
-
fpl_gradientMovement
- Set true for gradient movement with progress and false for static filling -
fpl_gradientDirection
- Set Gradient direction. i.e.left_to_right
,right_to_left
,top_to_bottom
,bottom_to_top
,top_left_to_bottom_right
,top_right_to_bottom_left
,bottom_right_to_top_left
orbottom_left_to_top_right
📄 License
FillProgressLayout is released under the MIT license. See LICENSE for details.