Popularity
2.4
Stable
Activity
0.0
Stable
87
2
15

Description

A simple and flexible Fillable Progress Layout written in Kotlin

Programming language: Kotlin
License: MIT License
Latest version: v0.0.6

FillProgressLayout alternatives and similar packages

Based on the "Progressbar/Progress View Widget" category.
Alternatively, view FillProgressLayout alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of FillProgressLayout or a related project?

Add another 'Progressbar/Progress View Widget' Package

README

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



Netflix button animation using FillProgressLayout


GitHub license Android Arsenal GitHub code size in bytes

Support Library alternative is available here


Installation

  1. Add it in your root build.gradle at the end of repositories:

    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }
    
  2. 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
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 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](./LICENSE.txt) for details.


*Note that all licence references and agreements mentioned in the FillProgressLayout README section above are relevant to that project's source code only.