MCPcopy Index your code
hub / github.com/ToDou/appbarlayout-spring-behavior

github.com/ToDou/appbarlayout-spring-behavior @v1.0.9

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.9 ↗ · + Follow
182 symbols 358 edges 11 files 36 documented · 20%
What it actually does AI analysis from the code graph — generated when you open this
loading…
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

Screenshot

First is with spring. Second with blur and TabScrimHelper.

H H

Installation

support28

dependencies {
    compile 'com.github.todou:appbarspring:1.0.9'
}

Usages

AppBarLayout-Spring

<android.support.design.widget.AppBarLayout
        ...
        app:layout_behavior="@string/appbar_spring_behavior"
        ...>
        ...
</android.support.design.widget.AppBarLayout>

if you want add blur with the spring.You can add this by the RealtimeBlurView:

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:

TabScrimHelper tabScrimHelper = new TabScrimHelper(tabLayout, collapsingToolbarLayout);
appBarLayout.addOnOffsetChangedListener(tabScrimHelper);

License

Copyright 2016 ToDou

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 at

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

Extension points exported contracts — how you extend this code

OnScrollChangeListener (Interface)
Interface definition for a callback to be invoked when the scroll X or Y positions of a view change. This version of
appbarspring/src/main/java/android/support/design/widget/NestedFixFlingScrollView.java
SpringOffsetCallback (Interface)
(no doc) [1 implementers]
appbarspring/src/main/java/android/support/design/widget/AppBarLayoutSpringBehavior.java

Core symbols most depended-on inside this repo

getScrollRange
called by 13
appbarspring/src/main/java/android/support/design/widget/NestedFixFlingScrollView.java
getTopBottomOffsetForScrollingSibling
called by 7
appbarspring/src/main/java/android/support/design/widget/AppBarLayoutSpringBehavior.java
scrollTo
called by 6
appbarspring/src/main/java/android/support/design/widget/NestedFixFlingScrollView.java
recycleVelocityTracker
called by 4
appbarspring/src/main/java/android/support/design/widget/NestedFixFlingScrollView.java
doScrollY
called by 4
appbarspring/src/main/java/android/support/design/widget/NestedFixFlingScrollView.java
computeScrollDeltaToGetChildRectOnScreen
called by 4
appbarspring/src/main/java/android/support/design/widget/NestedFixFlingScrollView.java
updateSpringHeaderHeight
called by 3
appbarspring/src/main/java/android/support/design/widget/AppBarLayoutSpringBehavior.java
startNestedScroll
called by 3
appbarspring/src/main/java/android/support/design/widget/NestedFixFlingScrollView.java

Shape

Method 165
Class 15
Interface 2

Languages

Java100%

Modules by API surface

appbarspring/src/main/java/android/support/design/widget/NestedFixFlingScrollView.java99 symbols
appbarspring/src/main/java/android/support/design/widget/AppBarLayoutSpringBehavior.java35 symbols
appbarspring/src/main/java/android/support/design/widget/TabScrimHelper.java11 symbols
app/src/main/java/loopeer/com/appbarlayout_spring_extension/MyItemRecyclerViewAdapter.java8 symbols
app/src/main/java/loopeer/com/appbarlayout_spring_extension/dummy/DummyContent.java7 symbols
app/src/main/java/loopeer/com/appbarlayout_spring_extension/TabFragmentPagerAdapter.java5 symbols
app/src/main/java/loopeer/com/appbarlayout_spring_extension/MainActivity.java5 symbols
app/src/main/java/loopeer/com/appbarlayout_spring_extension/SpringAppBarLayoutWithTabActivity.java3 symbols
app/src/main/java/loopeer/com/appbarlayout_spring_extension/SpringAppBarLayoutActivity.java3 symbols
app/src/main/java/loopeer/com/appbarlayout_spring_extension/NormalAppBarLayoutActivity.java3 symbols
app/src/main/java/loopeer/com/appbarlayout_spring_extension/ItemFragment.java3 symbols

For agents

$ claude mcp add appbarlayout-spring-behavior \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact