Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ToDou/appbarlayout-spring-behavior
One Behavior help AppBarLayout to scroll spring
https://github.com/ToDou/appbarlayout-spring-behavior
Last synced: about 1 month ago
JSON representation
One Behavior help AppBarLayout to scroll spring
- Host: GitHub
- URL: https://github.com/ToDou/appbarlayout-spring-behavior
- Owner: ToDou
- Created: 2016-10-13T11:06:05.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2019-05-31T02:20:11.000Z (over 5 years ago)
- Last Synced: 2024-10-30T02:36:51.396Z (about 2 months ago)
- Language: Java
- Homepage:
- Size: 79.9 MB
- Stars: 1,188
- Watchers: 20
- Forks: 163
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-github-android-ui - appbarlayout-spring-behavior - 实现滚动弹簧效果 (AppBar)
README
# appbarlayout-spring-behavior
One library contains one behavior help appbarlayout to scroll spring. In the sample have add the realtimeblur test and add tablayout with TabScrimHelper(animate color with CollapsingToolbarLayout).Because of some methods in the Behavior of AppBarLayout not open to the out package. So I set the package name same to the support design.[Download Sample](https://github.com/ToDou/appbarlayout-spring-behavior/releases)
Screenshot
====
First is with spring. Second with blur and TabScrimHelper.|H|H|
|---|---|
|![](/screenshot/appbar_spring.gif)|![](/screenshot/appbar_spring_blur_tab.gif)|Installation
====
```groovy
dependencies {
implementation 'com.github.todou:appbarspring:1.0.x'
}
```|des|version|branch|
|---|---|---|
|supportpre|1.0.7|master|
|support28|1.0.9|support28|
|androidx|1.0.8|androidx|Usages
====
#### AppBarLayout-Spring
```xml...
```
if you want add blur with the spring.You can add this by the [RealtimeBlurView](https://github.com/mmin18/RealtimeBlurView):
```java
final RealtimeBlurView realtimeBlurView = (RealtimeBlurView) findViewById(R.id.real_time_blur_view);
AppBarLayout appBarLayout = (AppBarLayout) findViewById(R.id.app_bar);
AppBarLayoutSpringBehavior springBehavior = (AppBarLayoutSpringBehavior) ((CoordinatorLayout.LayoutParams) appBarLayout.getLayoutParams()).getBehavior();
springBehavior.setSpringOffsetCallback(new AppBarLayoutSpringBehavior.SpringOffsetCallback() {
@Override
public void springCallback(int offset) {
int radius = 20 * (240 - offset > 0 ? 240 - offset : 0) / 240;
realtimeBlurView.setBlurRadius(radius);
}
});
```
With the tablayout you can add **TabScrimHelper** to let TabLayout animate color with the CollapsingToolbarLayout:
```java
TabScrimHelper tabScrimHelper = new TabScrimHelper(tabLayout, collapsingToolbarLayout);
appBarLayout.addOnOffsetChangedListener(tabScrimHelper);
```License
====
Copyright 2016 ToDouLicensed 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.