{"adoption": {"forks": 220, "observed_at": "2026-08-28T04:04:14.678515+00:00", "stars": 1285}, "canonical_url": "https://ross.abutalabs.com/products/statebutton", "card": {"archived": false, "artifact_type": "library", "description": "一个可以用代码设置selector背景（按下去背景颜色更改，样式变化等等）的button, 再也不用写selector了", "domain": ["mobile-development", "android-tools", "frontend"], "enriched": true, "function": ["ui-components", "mobile-framework"], "health_score": 20, "homepage": null, "language": "Java", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["niniloveyou/StateButton"], "name": "niniloveyou/StateButton", "platform": ["jvm"], "pushed_at": "2019-01-23T02:46:50+00:00", "repo": "niniloveyou/StateButton", "stars": 1285, "tags": ["android-button", "selector", "drawable-state", "ui-widget", "jitpack", "android", "mobile"], "topics": ["button", "statebutton", "selector", "android"], "urls": [], "use_cases": ["set button pressed state background color without writing selector xml", "create rounded or stroke buttons programmatically on Android", "customize button states (normal, pressed, disabled) in code", "avoid writing drawable selector files for each button", "add animated color transitions to Android buttons"], "what_it_is": "An Android custom Button view that lets you set pressed, disabled, and normal state backgrounds, text colors, strokes, and corner radii directly in code or XML, eliminating the need to write selector drawables. Distributed via JitPack and written in Java.", "when_to_avoid": ["you're not developing for Android", "you need Material Design component behaviors like ripples beyond simple state styling", "you need a very actively maintained dependency - last release was 2019"], "when_to_choose": ["you're building an Android UI with many styled buttons and want to skip selector XML files", "you need per-state colors, strokes, and radii configurable from Java or XML"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/statebutton", "repo": "niniloveyou/StateButton", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.678515+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.895080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3a3cd8280375a0549610153881331f8d3ec27d85f0af4e1bc52ccd5a00001ba", "fetched_at": "2026-08-28T04:04:14.678515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/niniloveyou/StateButton"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.678515+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.895080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3a3cd8280375a0549610153881331f8d3ec27d85f0af4e1bc52ccd5a00001ba", "fetched_at": "2026-08-28T04:04:14.678515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/niniloveyou/StateButton"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.895080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3a3cd8280375a0549610153881331f8d3ec27d85f0af4e1bc52ccd5a00001ba", "fetched_at": "2026-08-28T04:04:14.678515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/niniloveyou/StateButton"}], "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:04:14.678515+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.678515+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.678515+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.895080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3a3cd8280375a0549610153881331f8d3ec27d85f0af4e1bc52ccd5a00001ba", "fetched_at": "2026-08-28T04:04:14.678515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/niniloveyou/StateButton"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.678515+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.678515+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.895080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3a3cd8280375a0549610153881331f8d3ec27d85f0af4e1bc52ccd5a00001ba", "fetched_at": "2026-08-28T04:04:14.678515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/niniloveyou/StateButton"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.678515+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.678515+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.678515+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.895080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3a3cd8280375a0549610153881331f8d3ec27d85f0af4e1bc52ccd5a00001ba", "fetched_at": "2026-08-28T04:04:14.678515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/niniloveyou/StateButton"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.678515+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.678515+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.895080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3a3cd8280375a0549610153881331f8d3ec27d85f0af4e1bc52ccd5a00001ba", "fetched_at": "2026-08-28T04:04:14.678515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/niniloveyou/StateButton"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.895080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3a3cd8280375a0549610153881331f8d3ec27d85f0af4e1bc52ccd5a00001ba", "fetched_at": "2026-08-28T04:04:14.678515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/niniloveyou/StateButton"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.895080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3a3cd8280375a0549610153881331f8d3ec27d85f0af4e1bc52ccd5a00001ba", "fetched_at": "2026-08-28T04:04:14.678515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/niniloveyou/StateButton"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:56:40.895080+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e3a3cd8280375a0549610153881331f8d3ec27d85f0af4e1bc52ccd5a00001ba", "fetched_at": "2026-08-28T04:04:14.678515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/niniloveyou/StateButton"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3586, "days_push": 2779, "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}}