GitPedia

FillProgressLayout

A simple and flexible Fillable Progress Layout written in Kotlin

From JDevZoneยทUpdated August 7, 2025ยทView on GitHubยท

FillProgressLayout :fire:A simple and flexible Fill Progress Layout written in Kotlin:fire: The project is written primarily in Kotlin, distributed under the MIT License license, first published in 2019. Key topics include: fill-pro, kotlin, layout, netflix, progress-filling.

Latest release: v0.0.9โ€” Nullable Listeners Support Added
<div align="center"> <kbd><img src="lib_logo.png" alt="" width="80px" height="80px"></kbd> </div> <h3 align="center">FillProgressLayout</h3> <h4 align="center" >:fire:A simple and flexible Fill Progress Layout written in Kotlin:fire:</h4>
<a href="https://github.com/JDevZone/FillProgressLayout"> <img align="center" src="sample.gif" width="100%" height="10%" /> </a>
<h4 align="center" >Netflix button animation using FillProgressLayout</h4> <a href="https://github.com/JDevZone/FillProgressLayout"> <img align="center" src="art/netflix_anim.gif" width="100%" height="10%" /> </a>


GitHub license
Android Arsenal
GitHub code size in bytes

<a align="center" href="https://github.com/JDevZone/FillProgressLayoutSupport">Support Library alternative is available here</a>


Installation

  1. Add it in your root build.gradle at the end of repositories:
groovy
allprojects { repositories { ... maven { url 'https://jitpack.io' } } }
  1. Add the dependency in app gradle
groovy
dependencies { implementation 'com.github.JDevZone:FillProgressLayout:{latest_version}' }

Basic usage

As FillProgressLayout is direct child of LinearLayout you can replace LinearLayout with it as follows

xml
<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.

xml
<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 DirectionDemo
<p align="center">Left To Right</p><img src="art/left_to_right.gif" width="90%"/>
<p align="center">Right To Left</p><img src="art/right_to_left.gif" width="90%" />
<p align="center">Top To Bottom</p><img src="art/top_to_bottom.gif" width="90%" />
<p align="center">Bottom To Top</p><img src="art/bottom_to_top.gif" width="90%" />

Additional

Rounded Corners sample

<img align="left" src="art/rounded_corners.gif" width="100%" />

Gradient Progress sample

<img align="left" src="art/gradient.gif" width="100%" />

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 or bottom_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.

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub โ†’

This article is auto-generated from JDevZone/FillProgressLayout via the GitHub API.Last fetched: 6/17/2026