MCPcopy Index your code
hub / github.com/christophesmet/android_maskable_layout

github.com/christophesmet/android_maskable_layout @v1.3.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.3.2 ↗ · + Follow
25 symbols 66 edges 2 files 1 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Maskable Layout

Overview

=======================

The Maskable Layout is a simple framelayout that allows you to easily mask views and viewgroups. You can also execute other porterduffxfermodes. Simple Drawables are accepted, as wel as AnimationDrawables !

Example

=======================

Usage

======================= This example masks his child element (Imageview) with the mask "animation_mask" and sets the porterDuffXferMode to DST_IN

<com.christophesmet.android.views.maskableframelayout.MaskableFrameLayout
    android:id="@+id/frm_mask_animated"
    android:layout_width="100dp"
    app:porterduffxfermode="DST_IN"
    app:mask="@drawable/animation_mask"
    android:layout_height="100dp">

    <ImageView android:layout_width="match_parent"
               android:layout_height="match_parent"
               android:scaleType="centerCrop"
               android:src="https://github.com/christophesmet/android_maskable_layout/raw/v1.3.2/@drawable/unicorn"/>

</com.christophesmet.android.views.maskableframelayout.MaskableFrameLayout>

Building

======================= Fork the repository and include the 'library' module and you are done :) AAR File coming to soon to maven central near you ;)

Or use JitPack: https://jitpack.io/#christophesmet/android_maskable_layout

repositories {
    maven { url 'https://jitpack.io' }
}
    implementation 'com.github.christophesmet:android_maskable_layout:v1.3.1'

License

Copyright 2015 Christophe Smet.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Core symbols most depended-on inside this repo

log
called by 11
library/src/main/java/com/christophesmet/android/views/maskableframelayout/MaskableFrameLayout.java
initMask
called by 4
library/src/main/java/com/christophesmet/android/views/maskableframelayout/MaskableFrameLayout.java
makeBitmapMask
called by 4
library/src/main/java/com/christophesmet/android/views/maskableframelayout/MaskableFrameLayout.java
swapBitmapMask
called by 4
library/src/main/java/com/christophesmet/android/views/maskableframelayout/MaskableFrameLayout.java
construct
called by 2
library/src/main/java/com/christophesmet/android/views/maskableframelayout/MaskableFrameLayout.java
createPaint
called by 2
library/src/main/java/com/christophesmet/android/views/maskableframelayout/MaskableFrameLayout.java
loadMask
called by 1
library/src/main/java/com/christophesmet/android/views/maskableframelayout/MaskableFrameLayout.java
getDrawableMask
called by 1
library/src/main/java/com/christophesmet/android/views/maskableframelayout/MaskableFrameLayout.java

Shape

Method 23
Class 2

Languages

Java100%

Modules by API surface

library/src/main/java/com/christophesmet/android/views/maskableframelayout/MaskableFrameLayout.java21 symbols
Sample/src/main/java/com/christophesmet/android/views/MainActivity.java4 symbols

For agents

$ claude mcp add android_maskable_layout \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page