{"id":21232795,"url":"https://github.com/hotstu/autoskeleton","last_synced_at":"2025-07-10T17:31:19.657Z","repository":{"id":73762305,"uuid":"197554993","full_name":"hotstu/AutoSkeleton","owner":"hotstu","description":"‘real’ skeleton loading library provides an easy way to show skeleton loading like Facebook or Alipay aiming performance and extensibility","archived":false,"fork":false,"pushed_at":"2020-04-01T01:24:47.000Z","size":7529,"stargazers_count":83,"open_issues_count":1,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-05T15:35:16.064Z","etag":null,"topics":["skeleton-loading"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hotstu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-07-18T09:22:46.000Z","updated_at":"2022-12-08T22:35:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"80b7b465-ae8f-4a58-ad1c-a299713dbfd6","html_url":"https://github.com/hotstu/AutoSkeleton","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hotstu/AutoSkeleton","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hotstu%2FAutoSkeleton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hotstu%2FAutoSkeleton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hotstu%2FAutoSkeleton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hotstu%2FAutoSkeleton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hotstu","download_url":"https://codeload.github.com/hotstu/AutoSkeleton/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hotstu%2FAutoSkeleton/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264618983,"owners_count":23638384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["skeleton-loading"],"created_at":"2024-11-20T23:54:44.127Z","updated_at":"2025-07-10T17:31:17.344Z","avatar_url":"https://github.com/hotstu.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![author](https://img.shields.io/badge/author-hglf-blue.svg)](https://github.com/hotstu)\n[![Download](https://api.bintray.com/packages/hglf/maven/AutoSkeleton/images/download.svg) ](https://bintray.com/hglf/maven/AutoSkeleton/_latestVersion)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\n\nAutoSkeleton\n===============\nYet Another skeleton loading library provides an easy way to show skeleton loading like Facebook or Alipay **Automatically** aiming performance and extensibility\n\n[中文](/README_CN.md)\n\n![demo1][demo1] ![demo1][demo2]\n\n\n### How to include \n ```groovy\n\n    //check out the latest version at the download badge on the top\n    implementation 'github.hotstu.autoskeleton:autoskeleton:1.0.0'\n\n ```\n### Features\n\n* Extensibility\n\n  AutoSkeleton is code in the 'Delegate pattern' that means it's not limited to a specific type of ViewGroup\n  \n  you can simply extend any ViewGroup to implement the skeleton loading ability by delegate some method to the `SkeletonDelegate` class\n\n* Better performance\n\n  Unlike [ShimmerLayout][1] which traversal the view tree  and draw all the child on a bitmap twice, AutoSkeleton does not call `super.dispatchDraw(canvas)`.\n\n* custom drawing\n\n  AutoSkeleton is designed as a loose developers have the full control of the drawing steps such as\n  \n    * control the traversal view tree depth\n    * Exclude some views by view depth \u0026 view properties\n    * custom animation\n  \n* Kotlin \n\n  AutoSkeleton is written in pure kotlin except some java code to show interoperability with java\n  \n* Preview in android studio \n\n  You can see the preview  in layout editor directly in android studio\n \n### Similar Libraries\n\n* [ShimmerLayout][1]\n\n* [Skeleton][2]\n\n### Thanks\n\nThis library is inspired by [JakeWharton/scalpel](https://github.com/JakeWharton/scalpel)\n\n\n\n[1]: https://github.com/team-supercharge/ShimmerLayout\n[2]: https://github.com/ethanhua/Skeleton\n[demo1]: /screenshots/demo1.gif\n[demo2]: /screenshots/demo2.gif\n[demo]: /screenshots/demo.gif","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhotstu%2Fautoskeleton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhotstu%2Fautoskeleton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhotstu%2Fautoskeleton/lists"}