{"id":20826119,"url":"https://github.com/francescozoccheddu/android-animatorhelpers","last_synced_at":"2026-06-30T22:02:24.501Z","repository":{"id":86642856,"uuid":"199296063","full_name":"francescozoccheddu/android-AnimatorHelpers","owner":"francescozoccheddu","description":"Animator helpers for Android and Kotlin","archived":false,"fork":false,"pushed_at":"2024-02-10T20:02:46.000Z","size":101,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-12T07:23:37.874Z","etag":null,"topics":["android-animation","android-library","android-utils"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/francescozoccheddu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-28T14:16:55.000Z","updated_at":"2022-11-27T22:33:59.000Z","dependencies_parsed_at":"2025-01-18T17:44:54.891Z","dependency_job_id":"e7a63112-2b1e-4807-91ad-53f2bad9d799","html_url":"https://github.com/francescozoccheddu/android-AnimatorHelpers","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/francescozoccheddu/android-AnimatorHelpers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/francescozoccheddu%2Fandroid-AnimatorHelpers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/francescozoccheddu%2Fandroid-AnimatorHelpers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/francescozoccheddu%2Fandroid-AnimatorHelpers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/francescozoccheddu%2Fandroid-AnimatorHelpers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/francescozoccheddu","download_url":"https://codeload.github.com/francescozoccheddu/android-AnimatorHelpers/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/francescozoccheddu%2Fandroid-AnimatorHelpers/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34984784,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-30T02:00:05.919Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android-animation","android-library","android-utils"],"created_at":"2024-11-17T23:08:04.892Z","updated_at":"2026-06-30T22:02:24.486Z","avatar_url":"https://github.com/francescozoccheddu.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Animator helpers for Android and Kotlin\n\n\n## Installation\n``` gradle\nimplementation 'com.francescozoccheddu.animatorhelpers:AnimatorHelpers:0.1'\n```\n\n\n## Examples\n\n### Delegated property\nSetup\n``` kotlin\nvar myAnimatedFloat by ABFloat(0f).apply {\n    onUpdate = {\n        println(\"myAnimatedFloat=$it\")\n    }\n    speed = 3f\n}\n```\nChange value\n``` kotlin\nmyAnimatedFloat = 8f\n```\n\n### Standalone object\nSetup\n``` kotlin\nval myAnimatedColor = ABColor(Color.RED).apply {\n    onUpdate = {\n        println(\"myAnimatedColor=#${Integer.toHexString(it)}\")\n    }\n    duration = 0.5f\n}\n```\nChange value\n``` kotlin\nmyAnimatedColor.value = Color.YELLOW\n```\n\n\n## Classes\n- *`AnimatedValue`*\n    - `UnanimatedValue`\n    - *`TargetedValue`*\n        - *`ABValue`*\n            - `ABColor`\n            - `ABFloat`\n            - `ABInt`\n        - *`SmoothValue`*\n            - `SmoothColor`\n            - `SmoothFloat`\n            - `SmoothInt`\n        - *`SpringValue`*\n            - `SpringColor`\n            - `SpringFloat`\n            - `SpringInt`\n\n### `AnimatedValue\u003cType\u003e`\nBase class\n- **`value`** : `Type`  \n`get` animated value / `set` target value\n- **`running`** : `Boolean`  \n`get` whether animation is running or finished\n- **`onUpdate`** : `((ReadOnlyObservableAnimatedValue\u003cType\u003e) -\u003e Unit)?`  \n`get` / `set` value update callback\n- **`reach()`** : `Unit`  \nend animation and instantly jump to target value\n\n### `TargetedValue\u003cType\u003e`\nAnimated value with target\n- **`target`** : `Type`  \n`get` target value (`set` by **`value`** property)\n\n### `ABValue\u003cType\u003e`\nAndroid `ValueAnimator` wrapper  \nUse it for transitions or uninterruptible animations\n- **`interpolator`** : `TimeInterpolator`  \n`get` / `set` value easing\n- **`durationMode`** : `ABValue.DurationMode`  \n`get` duration mode (`set` by **`speed`** or **`duration`** properties)\n- **`duration`** : `Float`  \n`get` / `set` constant animation duration (seconds)\n- **`speed`** : `Float`  \n`get` / `set` constant animation speed (amount per second)\n\n### `SmoothValue\u003cType\u003e`\nContinuous exponential animator  \nUse it for continuously changing target values (eg. to smooth touch drag gestures)\n- **`smoothness`** : `Float`  \n`get` / `set` smoothness amount (`0.2f` is a reasonable value)\n\n### `SpringValue\u003cType\u003e`\nContinuous spring animator  \nUse it for frequently changing target values (eg. to programmatically move on screen objects)\n- **`acceleration`** : `Float`  \n`get` / `set` acceleration amount (velocity increment per second)\n- **`maxVelocity`** : `Float`  \n`get` / `set` velocity limit (amount per second)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrancescozoccheddu%2Fandroid-animatorhelpers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrancescozoccheddu%2Fandroid-animatorhelpers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrancescozoccheddu%2Fandroid-animatorhelpers/lists"}