{"id":16558025,"url":"https://github.com/rock3r/uplift","last_synced_at":"2025-09-01T12:38:46.962Z","repository":{"id":145515686,"uuid":"108241871","full_name":"rock3r/uplift","owner":"rock3r","description":"A playground for elevation on Android","archived":false,"fork":false,"pushed_at":"2020-09-01T08:08:02.000Z","size":7523,"stargazers_count":350,"open_issues_count":0,"forks_count":26,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-08-27T13:31:49.786Z","etag":null,"topics":["android","demo","elevation","material-design","ui"],"latest_commit_sha":null,"homepage":null,"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/rock3r.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"github":"rock3r"}},"created_at":"2017-10-25T08:30:24.000Z","updated_at":"2025-08-19T01:18:16.000Z","dependencies_parsed_at":"2023-04-04T21:33:20.814Z","dependency_job_id":null,"html_url":"https://github.com/rock3r/uplift","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/rock3r/uplift","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rock3r%2Fuplift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rock3r%2Fuplift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rock3r%2Fuplift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rock3r%2Fuplift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rock3r","download_url":"https://codeload.github.com/rock3r/uplift/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rock3r%2Fuplift/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273124354,"owners_count":25050020,"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","status":"online","status_checked_at":"2025-09-01T02:00:09.058Z","response_time":120,"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","demo","elevation","material-design","ui"],"created_at":"2024-10-11T20:09:22.732Z","updated_at":"2025-09-01T12:38:46.925Z","avatar_url":"https://github.com/rock3r.png","language":"Kotlin","funding_links":["https://github.com/sponsors/rock3r"],"categories":[],"sub_categories":[],"readme":"# Uplift [![GitHub release](https://img.shields.io/github/release/rock3r/uplift.svg?style=flat-square\u0026colorB=F6836E)](https://github.com/rock3r/uplift/releases) [![GitHub license](https://img.shields.io/github/license/rock3r/uplift.svg?style=flat-square\u0026colorB=F6836E)](https://github.com/rock3r/uplift/blob/master/LICENSE)\n\n![Uplift](art/moving-banner-github.gif)\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"art/showcase.gif\" alt=\"Uplift showcase\" /\u003e\u0026emsp;\u0026emsp;\u0026emsp;\u0026emsp;\u0026emsp;\n\t\u003cimg alt=\"About tinted shadows\" src=\"art/learn-more.png\" /\u003e\n\u003c/p\u003e\n\nUnbeknownst to most, elevation shadows are actually not completely inflexible. Besides setting the\nelevation height itself, you can tweak the shadows in clever ways to obtain subtler shadows,\nor simply some specific effect. This can be seen in action in the [Squanchy](http://squanchy.net)\nschedule screen, which uses a custom `OutlineProvider` to cast shadows for the cards that look more\nlike diffuse shadows (although they're very much still the area shadow that the Material guidelines\nspecify, there is no custom drawing code there).\n\nFor more details, you can refer to the [accompanying blogpost](https://blog.sebastiano.dev/playing-with-elevation-in-android/),\nand to the follow up posts for Android P: [part 1](https://blog.sebastiano.dev/playing-with-elevation-in-android-part-1/) and\n[part 2](https://blog.sebastiano.dev/playing-with-elevation-in-android-part-2/).\n\n### Tinting shadows (Android P+)\n\nStarting with Android P (API 28) you can specify the colour that elevation shadows take on. You can\nindividually tint the area and the spot shadows — although you probably want the same colour for\nboth, most of the time. Remember, though, that shadow colours' alphas are premultiplied by a factor\nthat is defined by the `ambientShadowAlpha` and `spotShadowAlpha` theme attributes, which are set by\ndefault to `0.039` for ambient shadows and `0.19` for spot shadows.\n\nIf you want to learn more about it, and learn how to bypass these limitations, you can refer to the\ndedicated blog posts, starting with the [first part](https://blog.sebastiano.dev/playing-with-elevation-in-android-part-1/). \n\n## More on Uplift\nYou can test Uplift by downloading it from the [Play Store](https://play.google.com/store/apps/details?id=me.seebrock3r.elevationtester)\nor get the apk from the [Releases tab](https://github.com/rock3r/elevation-tester/releases/latest).\n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://play.google.com/store/apps/details?id=me.seebrock3r.elevationtester\" target=\"_blank\"\u003e\u003cimg src=\"art/get-it-on-google-play.png\" alt=\"Get it on Google Play\" width=\"33%\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\n## Licence\n\nSee the [`LICENSE`](LICENSE) file. tl;dr it's Apache 2.0.\n\nThe app uses Alessandro Crugnola's [`android-target-tooltip`](https://github.com/sephiroth74/android-target-tooltip) library for\nthe onboarding, which is licensed under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frock3r%2Fuplift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frock3r%2Fuplift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frock3r%2Fuplift/lists"}