https://github.com/mecoFarid/squeezeloader
Loader library (ProgressBar) for Android
https://github.com/mecoFarid/squeezeloader
android-loader android-loaders android-progressbar custom-progressbar loader loaders progress-bar progressbar
Last synced: 18 days ago
JSON representation
Loader library (ProgressBar) for Android
- Host: GitHub
- URL: https://github.com/mecoFarid/squeezeloader
- Owner: mecoFarid
- Created: 2019-07-25T04:43:43.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-27T16:42:15.000Z (over 2 years ago)
- Last Synced: 2024-11-18T04:35:45.343Z (6 months ago)
- Topics: android-loader, android-loaders, android-progressbar, custom-progressbar, loader, loaders, progress-bar, progressbar
- Language: Kotlin
- Homepage:
- Size: 1.33 MB
- Stars: 27
- Watchers: 1
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-android-ui - SqueezeLoader - 2.0) | <img src="/art/squeezeloader.gif" width="60%"> (Index)
- fucking-awesome-android-ui - SqueezeLoader - 2.0) | <img src="/art/squeezeloader.gif" width="60%"> (Index)
- fucking-awesome-android-ui - SqueezeLoader - 2.0) | <img src="/art/squeezeloader.gif" width="60%"> (Index)
README
## Description
SqueezeLoader is a custom Loader (ProgressBar)
## Demo
## Usage
### 1. Integration
Min API level is: `API 14` [](https://jitpack.io/#mecoFarid/squeezeloader)**Step 1.** Add it in your root build.gradle at the end of repositories:
```
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
```
**Step 2.** Add the dependency
```
dependencies {
...
implementation 'com.github.mecoFarid:squeezeloader:1.0.3'
}
```
### 2.Troubleshooting
If you get an error similar to:
```
Error: Default interface methods are only supported starting with Android N (--min-api 24): android.view.MenuItem androidx.core.internal.view.SupportMenuItem.setContentDescription(java.lang.CharSequence)
```
then add this snippet to `android` section in `build.gradle (app Module)` file:```
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
```
### 3. Code example
After integrating the library to your app you can use the `SqueezeLoader` in your xml as below:`SqueezeLoader` is the Layout that fast-moving/squeezing `SqueezeBar` animates through. Look at the gif above fro reference, the fast moving bar is called `SqueezeBar`
``````
### 4. Attribute explanation and values
**Minumum/Maximum values for:**| Atribute name | Default | Minimum | Maximum |
| :--- | :--- | :--- | :--- |
| app:sl_animationDuration | 1100ms | 1100ms | No restriction |
| android:layout_width | parent's width | 200dp | parent's width |
| app:sl_squeezebarWidth | 50dp | 2dp | 100dp |
| android:layout_height | 2dp | No restriction | parent's width |## Notes:
If you place SqueezeLoader in a parent view with `android:layout_width` less than `200dp` it will inherite parent's `width` in this case `SqueezeLoader` can be less than `200dp`