{"adoption": {"forks": 155, "observed_at": "2026-08-28T04:03:52.740806+00:00", "stars": 1177}, "canonical_url": "https://ross.abutalabs.com/products/appbarlayout-spring-behavior", "card": {"archived": false, "artifact_type": "library", "description": "One Behavior help AppBarLayout to scroll spring", "domain": ["mobile-development", "android-tools", "frontend"], "enriched": true, "function": ["ui-components", "animation"], "health_score": 20, "homepage": null, "language": "Java", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["ToDou/appbarlayout-spring-behavior"], "name": "ToDou/appbarlayout-spring-behavior", "platform": ["jvm"], "pushed_at": "2019-05-31T02:20:11+00:00", "repo": "ToDou/appbarlayout-spring-behavior", "stars": 1177, "tags": ["android", "appbarlayout", "coordinatorlayout-behavior", "spring-scroll", "material-design", "realtime-blur", "tablayout", "mobile"], "topics": [], "urls": [], "use_cases": ["add spring bounce effect to AppBarLayout scrolling in Android", "animate TabLayout color with collapsing toolbar", "apply realtime blur to collapsing app bar", "customize CoordinatorLayout behavior for app bar", "make Android app bar scroll feel elastic"], "what_it_is": "An Android library providing a custom CoordinatorLayout Behavior that gives AppBarLayout a springy, bouncy scroll effect. It also includes a TabScrimHelper for animating TabLayout colors alongside CollapsingToolbarLayout and optional realtime blur integration.", "when_to_avoid": ["you use Jetpack Compose instead of View-based CoordinatorLayout", "you need a maintained library with active support or a clear license file", "your project no longer uses support design/AndroidX AppBarLayout"], "when_to_choose": ["you want a spring/overscroll effect on AppBarLayout without reimplementing Behavior internals", "you use AndroidX or support design libraries and need a drop-in layout_behavior", "you want coordinated blur or tab color animation with app bar offset"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/appbarlayout-spring-behavior", "repo": "ToDou/appbarlayout-spring-behavior", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.740806+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:26:11.082187+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "51a50c8e8448b0c798349ae317cadb99f271d7441cb3a2b1a31d2b2a4c89313e", "fetched_at": "2026-08-28T04:03:52.740806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToDou/appbarlayout-spring-behavior"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.740806+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:26:11.082187+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "51a50c8e8448b0c798349ae317cadb99f271d7441cb3a2b1a31d2b2a4c89313e", "fetched_at": "2026-08-28T04:03:52.740806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToDou/appbarlayout-spring-behavior"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:26:11.082187+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "51a50c8e8448b0c798349ae317cadb99f271d7441cb3a2b1a31d2b2a4c89313e", "fetched_at": "2026-08-28T04:03:52.740806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToDou/appbarlayout-spring-behavior"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.740806+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.740806+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.740806+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:26:11.082187+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "51a50c8e8448b0c798349ae317cadb99f271d7441cb3a2b1a31d2b2a4c89313e", "fetched_at": "2026-08-28T04:03:52.740806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToDou/appbarlayout-spring-behavior"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.740806+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.740806+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:26:11.082187+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "51a50c8e8448b0c798349ae317cadb99f271d7441cb3a2b1a31d2b2a4c89313e", "fetched_at": "2026-08-28T04:03:52.740806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToDou/appbarlayout-spring-behavior"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.740806+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.740806+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.740806+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:26:11.082187+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "51a50c8e8448b0c798349ae317cadb99f271d7441cb3a2b1a31d2b2a4c89313e", "fetched_at": "2026-08-28T04:03:52.740806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToDou/appbarlayout-spring-behavior"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.740806+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:52.740806+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:26:11.082187+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "51a50c8e8448b0c798349ae317cadb99f271d7441cb3a2b1a31d2b2a4c89313e", "fetched_at": "2026-08-28T04:03:52.740806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToDou/appbarlayout-spring-behavior"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:26:11.082187+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "51a50c8e8448b0c798349ae317cadb99f271d7441cb3a2b1a31d2b2a4c89313e", "fetched_at": "2026-08-28T04:03:52.740806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToDou/appbarlayout-spring-behavior"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:26:11.082187+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "51a50c8e8448b0c798349ae317cadb99f271d7441cb3a2b1a31d2b2a4c89313e", "fetched_at": "2026-08-28T04:03:52.740806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToDou/appbarlayout-spring-behavior"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:26:11.082187+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "51a50c8e8448b0c798349ae317cadb99f271d7441cb3a2b1a31d2b2a4c89313e", "fetched_at": "2026-08-28T04:03:52.740806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ToDou/appbarlayout-spring-behavior"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3611, "days_push": 2652, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}