{"id":13396002,"url":"https://github.com/christophesmet/android_maskable_layout","last_synced_at":"2025-12-16T17:57:37.088Z","repository":{"id":18571169,"uuid":"21773913","full_name":"christophesmet/android_maskable_layout","owner":"christophesmet","description":"A library that easily allows you to mask layouts/viewgroups","archived":false,"fork":false,"pushed_at":"2020-12-07T08:35:57.000Z","size":3293,"stargazers_count":652,"open_issues_count":7,"forks_count":145,"subscribers_count":24,"default_branch":"master","last_synced_at":"2024-12-06T21:09:25.158Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","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/christophesmet.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}},"created_at":"2014-07-12T18:40:56.000Z","updated_at":"2024-10-27T07:08:17.000Z","dependencies_parsed_at":"2022-08-05T00:16:04.899Z","dependency_job_id":null,"html_url":"https://github.com/christophesmet/android_maskable_layout","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/christophesmet/android_maskable_layout","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christophesmet%2Fandroid_maskable_layout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christophesmet%2Fandroid_maskable_layout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christophesmet%2Fandroid_maskable_layout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christophesmet%2Fandroid_maskable_layout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/christophesmet","download_url":"https://codeload.github.com/christophesmet/android_maskable_layout/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christophesmet%2Fandroid_maskable_layout/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27769076,"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-12-16T02:00:10.477Z","response_time":57,"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":[],"created_at":"2024-07-30T18:00:37.443Z","updated_at":"2025-12-16T17:57:37.065Z","avatar_url":"https://github.com/christophesmet.png","language":"Java","funding_links":[],"categories":["Index `(light-weight pages)`","Index","Libs"],"sub_categories":["\u003cA NAME=\"Widget\"\u003e\u003c/A\u003eWidget"],"readme":"## Maskable Layout\n\n\n### Overview\n=======================\n\nThe **Maskable Layout** is a simple **framelayout** that allows you to easily **mask** views and viewgroups. \nYou can also execute other porterduffxfermodes. \nSimple **Drawables** are accepted, as well as **AnimationDrawables** !\n\n### Example\n=======================\n![](/Screencast.gif)\n### Usage\n=======================\nThis example masks his child element (Imageview) with the mask \"animation_mask\" and sets the porterDuffXferMode to DST_IN\n\n```xml\n\u003ccom.christophesmet.android.views.maskableframelayout.MaskableFrameLayout\n    android:id=\"@+id/frm_mask_animated\"\n    android:layout_width=\"100dp\"\n    app:porterduffxfermode=\"DST_IN\"\n    app:mask=\"@drawable/animation_mask\"\n    android:layout_height=\"100dp\"\u003e\n\n    \u003cImageView android:layout_width=\"match_parent\"\n               android:layout_height=\"match_parent\"\n               android:scaleType=\"centerCrop\"\n               android:src=\"@drawable/unicorn\"/\u003e\n\n\u003c/com.christophesmet.android.views.maskableframelayout.MaskableFrameLayout\u003e\n```\n\n### Building\n=======================\nFork the repository and include the 'library' module and you are done :)\nAAR File coming to soon to maven central near you ;)\n\nOr use JitPack: https://jitpack.io/#christophesmet/android_maskable_layout\n\n```\nrepositories {\n    maven { url 'https://jitpack.io' }\n}\n    implementation 'com.github.christophesmet:android_maskable_layout:v1.3.1'\n```\n\nLicense\n=======\n\n    Copyright 2015 Christophe Smet.\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristophesmet%2Fandroid_maskable_layout","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchristophesmet%2Fandroid_maskable_layout","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristophesmet%2Fandroid_maskable_layout/lists"}