SkillAgentSearch skills...

FillProgressLayout

A simple and flexible Fillable Progress Layout written in Kotlin

Install / Use

/learn @JDevZone/FillProgressLayout

README

<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:
	allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}
  1. Add the dependency in app gradle
	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

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

Related Skills

View on GitHub
GitHub Stars88
CategoryDevelopment
Updated8mo ago
Forks15

Languages

Kotlin

Security Score

92/100

Audited on Aug 7, 2025

No findings