ShapeOfView is an Android library that lets developers render arbitrary shapes — not just rectangles — for any view. Rather than sticking to Android’s default rectangular layout for views, ShapeOfView allows you to “clip” or mask a view into a variety of shapes (circle, triangle, star, polygon, custom path, etc.), and optionally include shadows (when using elevation) — making it possible to build UI components that diverge from the standard boxy look. It supports both predefined shapes (round rects, circles, arcs, bubbles, triangles, stars, polygons, diagonals, cut corners) and fully custom shapes via clipping paths or drawables. Moreover, shapes can be animated (for example, corners gradually changing, or shape morphing), giving developers creative freedom for dynamic UI effects. This library helps in building expressive, modern UI designs aligned with modern design languages (e.g. Material 2 / custom).
Features
- Allows any Android view to be clipped into custom shapes (circle, triangle, round-rect, star, polygon, arc, diagonal, etc.)
- Supports both simple shape clipping via drawable and complex clipping via custom paths (with shadow/elevation support)
- Pre-defined shape-views for convenience (e.g. CircleView, TriangleView, RoundRectView, PolygonView, BubbleView)
- Animatable shape parameters — shape morphing, corner rounding animations, etc
- Works with AndroidX and modern Android view ecosystem
- Licensed under Apache 2.0 and easy to add via Maven/Gradle dependency