{"adoption": {"forks": 296, "observed_at": "2026-08-28T04:04:39.148534+00:00", "stars": 1412}, "canonical_url": "https://ross.abutalabs.com/products/custompopwindow", "card": {"archived": false, "artifact_type": "library", "description": "对PopupWindow常用API的简单封装，几行代码就搞定PopupWindow弹窗，使用Builder模式，链式调用，像使用AlertDialog 一样", "domain": ["mobile-development", "android-tools", "developer-tools"], "enriched": true, "function": ["ui-components", "mobile-framework"], "health_score": 20, "homepage": null, "language": "Java", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["pinguo-zhouwei/CustomPopwindow"], "name": "pinguo-zhouwei/CustomPopwindow", "platform": ["jvm"], "pushed_at": "2017-07-05T07:05:09+00:00", "repo": "pinguo-zhouwei/CustomPopwindow", "stars": 1412, "tags": ["popup-window", "builder-pattern", "android-ui", "chained-api", "dialog", "android", "mobile"], "topics": ["popup-window"], "urls": [], "use_cases": ["show a popup window in Android with a few lines of code", "create a dropdown popup anchored to a view", "dim the background when a popup is shown", "prevent popup from closing when tapping outside", "add custom show/dismiss animations to a popup", "use PopupWindow like AlertDialog with chained configuration"], "what_it_is": "An Android library that wraps Android's PopupWindow with a Builder-pattern, chainable API so popups can be configured and shown in a few lines of code, similar to using AlertDialog. It adds conveniences like background dimming, custom animations, and control over dismiss-on-outside-touch behavior.", "when_to_avoid": ["you need dialogs with buttons and standard dialog UI (use AlertDialog or Material Components instead)", "you use Jetpack Compose, where PopupWindow wrappers are unnecessary", "you need an actively maintained library with a license and ongoing updates"], "when_to_choose": ["you frequently show PopupWindow-based menus or tooltips in an Android app and want to eliminate boilerplate", "you want AlertDialog-style chained configuration for popups", "you need background dimming or outside-touch dismiss control with Android 6.0/7.0 compatibility"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/custompopwindow", "repo": "pinguo-zhouwei/CustomPopwindow", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.148534+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:38:21.549874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dfd88ef895bfa7fc892afb3cd0498ffefbe5fb1a6d7f73770a287b0f7ef0bdf", "fetched_at": "2026-08-28T04:04:39.148534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinguo-zhouwei/CustomPopwindow"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.148534+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:38:21.549874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dfd88ef895bfa7fc892afb3cd0498ffefbe5fb1a6d7f73770a287b0f7ef0bdf", "fetched_at": "2026-08-28T04:04:39.148534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinguo-zhouwei/CustomPopwindow"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:38:21.549874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dfd88ef895bfa7fc892afb3cd0498ffefbe5fb1a6d7f73770a287b0f7ef0bdf", "fetched_at": "2026-08-28T04:04:39.148534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinguo-zhouwei/CustomPopwindow"}], "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:39.148534+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.148534+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.148534+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:38:21.549874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dfd88ef895bfa7fc892afb3cd0498ffefbe5fb1a6d7f73770a287b0f7ef0bdf", "fetched_at": "2026-08-28T04:04:39.148534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinguo-zhouwei/CustomPopwindow"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.148534+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.148534+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:38:21.549874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dfd88ef895bfa7fc892afb3cd0498ffefbe5fb1a6d7f73770a287b0f7ef0bdf", "fetched_at": "2026-08-28T04:04:39.148534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinguo-zhouwei/CustomPopwindow"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.148534+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.148534+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.148534+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:38:21.549874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dfd88ef895bfa7fc892afb3cd0498ffefbe5fb1a6d7f73770a287b0f7ef0bdf", "fetched_at": "2026-08-28T04:04:39.148534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinguo-zhouwei/CustomPopwindow"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.148534+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.148534+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:38:21.549874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dfd88ef895bfa7fc892afb3cd0498ffefbe5fb1a6d7f73770a287b0f7ef0bdf", "fetched_at": "2026-08-28T04:04:39.148534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinguo-zhouwei/CustomPopwindow"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:38:21.549874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dfd88ef895bfa7fc892afb3cd0498ffefbe5fb1a6d7f73770a287b0f7ef0bdf", "fetched_at": "2026-08-28T04:04:39.148534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinguo-zhouwei/CustomPopwindow"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:38:21.549874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dfd88ef895bfa7fc892afb3cd0498ffefbe5fb1a6d7f73770a287b0f7ef0bdf", "fetched_at": "2026-08-28T04:04:39.148534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinguo-zhouwei/CustomPopwindow"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:38:21.549874+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1dfd88ef895bfa7fc892afb3cd0498ffefbe5fb1a6d7f73770a287b0f7ef0bdf", "fetched_at": "2026-08-28T04:04:39.148534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinguo-zhouwei/CustomPopwindow"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3563, "days_push": 3346, "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}}