Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/henrytao-me/smooth-app-bar-layout
Smooth version of Google Support Design AppBarLayout
https://github.com/henrytao-me/smooth-app-bar-layout
android appbarlayout material-design support-library
Last synced: 5 days ago
JSON representation
Smooth version of Google Support Design AppBarLayout
- Host: GitHub
- URL: https://github.com/henrytao-me/smooth-app-bar-layout
- Owner: henrytao-me
- License: apache-2.0
- Created: 2015-09-27T08:25:23.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-09-09T23:30:49.000Z (over 7 years ago)
- Last Synced: 2024-11-27T17:59:21.006Z (16 days ago)
- Topics: android, appbarlayout, material-design, support-library
- Language: Java
- Homepage:
- Size: 1.1 MB
- Stars: 1,765
- Watchers: 60
- Forks: 240
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-android-ui - https://github.com/henrytao-me/smooth-app-bar-layout
- awesome-android-ui - https://github.com/henrytao-me/smooth-app-bar-layout
- awesome-github-android-ui - smooth-app-bar-layout - 视图布局 (AppBar)
README
[ ![Download](https://api.bintray.com/packages/henrytao-me/maven/smooth-app-bar-layout/images/download.svg) ](https://bintray.com/henrytao-me/maven/smooth-app-bar-layout/_latestVersion) [![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-smooth--app--bar--layout-brightgreen.svg?style=flat)](http://android-arsenal.com/details/1/2565)
smooth-app-bar-layout [Deprecated]
================
# [DEPRECATED] The issue that is addressed in this library is fixed from support design 26.0.0 or above (finally). Please use support design instead.
This is a smooth version of `Google Support Design AppBarLayout`. If you are using `AppBarLayout`, you will know it has an issue with fling. Check out these threads to know about that problem:
[http://stackoverflow.com/questions/30923889/flinging-with-recyclerview-appbarlayout](http://stackoverflow.com/questions/30923889/flinging-with-recyclerview-appbarlayout)
[https://code.google.com/p/android/issues/detail?id=177729...](https://code.google.com/p/android/issues/detail?id=177729&q=appbarlayout&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars)If you find that it still doesn't meet your need, don't hesitate to send me a request. I love to work with you to solve problems. [Send a request HERE](https://github.com/henrytao-me/smooth-app-bar-layout/issues)
## Installation
``` groovy
compile "me.henrytao:smooth-app-bar-layout:."
```Example: if the latest support design version is `24.1.0` and SmoothAppBarLayout fix is `0`, please use `compile "me.henrytao:smooth-app-bar-layout:24.1.0.0"`. Please check `TAGS` section to see all supported versions.
- `smooth-app-bar-layout` is an UI library and pretty much depended on AppCompat and Support Design. So that, versioning is quite the same with those libraries from Google.
- `smooth-app-bar-layout` is deployed to `jCenter`. Make sure you have `jcenter()` in your project gradle.## Tested environments
- `"com.android.support:design:23.1.1"`
- `"com.android.support:appcompat-v7:23.1.1"`## Demo
[![Get it on Google Play](https://raw.githubusercontent.com/henrytao-me/smooth-app-bar-layout/master/screenshots/google-play.png)](https://play.google.com/store/apps/details?id=me.henrytao.smoothappbarlayout)
Please note that the app on the Play store is not always the latest version.
## Concepts
![concepts](./screenshots/concept.final.jpg)
## Features
- Scroll
- EnterAlways
- EnterAlwaysCollapsed
- ExitUntilCollapsed
- QuickReturn
- Custom NestedScrollView (NEW)
- ViewPager Scroll
- ViewPager ExitUntilCollapsed (NEW)
- ViewPager QuickReturn (NEW)
- Support SwipeRefreshLayoutCheckout these demo videos:
- Google Design Support AppBarLayout: [https://youtu.be/oaN2UTZIRUk](https://youtu.be/oaN2UTZIRUk)
- SmoothAppBarLayout: [https://youtu.be/la6ixCL9RKs](https://youtu.be/la6ixCL9RKs)![screenshots](./screenshots/screenshots.jpg)
## Important Notes
- Remember to set `android:id` for `me.henrytao.smoothappbarlayout.SmoothAppBarLayout` in layout file so that it can call `onSaveInstanceState` and `onRestoreInstanceState` correctly. Otherwise, it won't work correctly with `onOrientationChanged`.
- Remember to set `android:minHeight` for `me.henrytao.smoothappbarlayout.SmoothAppBarLayout` in layout file if you use `ViewPager`.
- `clipToPadding` in `RecyclerView` won't work. You have to set HeaderHolder in apdater and it has to be placed at index 0.
## UsageSuper easy! Just need to do 3 steps:
- Change `android.support.design.widget.AppBarLayout` to `me.henrytao.smoothappbarlayout.SmoothAppBarLayout` and set `android:id`
- Remove `app:layout_behavior="@string/appbar_scrolling_view_behavior"`.
- Add header to your NestedScrollView or RecyclerView.#### Original AppBarLayout from Google Support Design
``` xml
```
#### SmoothAppBarLayout
``` xml
```
#### SmoothCollapsingToolbarLayout example
``` xml
```
## Contributing
Any contributions are welcome!
Please check the [CONTRIBUTING](CONTRIBUTING.md) guideline before submitting a new issue. Wanna send PR? [Click HERE](https://github.com/henrytao-me/smooth-app-bar-layout/pulls)## Donation
Let's buy me some coffee :bow:
[![](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=hungtaoquang%40gmail%2ecom&lc=VN&item_name=Henry%20Tao&item_number=smooth%2dapp%2dbar%2dlayout¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted)
## License
Copyright 2015 "Henry Tao "
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.