Documentation
Neumorphism using Jetpack Compose
Neumorphism design implementation in jetpack compose.
Featured on Google dev library
What is Neumorphism
- Neumorphism is a ui design concept which mainly uses shadows to create awesome looking UI.
- Basic design concept from
NeumorphismareExtrudedandPressed/Flatstyle. - Neumorphism design concept allows us to represent a objects like how it appear on real world. (like a extruded volume control nob on a media player app)
About this library
- This library enables android application to create
Neumorphicdesign usingJetpack Compose
Sample app preview
| Dark | Light |
|---|---|
![]() |
![]() |
Install
You can install compose-neumorphism by adding this to your build.gradle file
dependencies {
implementation 'io.github.sridhar-sp:neumorphic:0.0.6'
}
Features
- Draw shadows on widget to bring out the neumorphic design, following neumorphic components are supported.
- Extruded or Elevated view
- Pressed View
- All the above neumorphic component support two corner shape
- RoundedCorner
- Oval
- Simply add a single
neumodifier on anycomposecomponent to create a neumorphic design
Usage
Refer the sample app provided for more information.
Extruded or Elevated design
Extruded or Elevated button
| Dark | Light |
|---|---|
![]() |
![]() |
Button(
modifier = Modifier
.defaultMinSize(minHeight = 80.dp)
.fillMaxWidth()
.padding(defaultWidgetPadding)
.neu(
lightShadowColor = AppColors.lightShadow(),
darkShadowColor = AppColors.darkShadow(),
shadowElevation = defaultElevation,
lightSource = LightSource.LEFT_TOP,
shape = Flat(defaultCornerShape),
),
colors = ButtonDefaults.buttonColors(
backgroundColor = MaterialTheme.colors.surface
)
) {
Text(
text = "Button", style = AppTextStyle.button()
)
}
Elevated card view with rounded rectangle shape
| Dark | Light |
|---|---|
![]() |
![]() |
Card(
modifier = Modifier
.size(128.dp)
.neu(
lightShadowColor = AppColors.lightShadow(),
darkShadowColor = AppColors.darkShadow(),
shadowElevation = defaultElevation,
lightSource = LightSource.LEFT_TOP,
shape = Flat(RoundedCorner(24.dp)),
),
elevation = 0.dp,
shape = RoundedCornerShape(24.dp),
){
// Add child components here.
}
Pressed design
Pressed button
| Dark | Light |
|---|---|
![]() |
![]() |
Button(
modifier = Modifier
.fillMaxWidth()
.padding(defaultWidgetPadding)
.neu(
lightShadowColor = AppColors.lightShadow(),
darkShadowColor = AppColors.darkShadow(),
shadowElevation = defaultElevation,
lightSource = LightSource.LEFT_TOP,
shape = Pressed(defaultCornerShape),
),
colors = ButtonDefaults.buttonColors(
backgroundColor = MaterialTheme.colors.surface,
),
shape = RoundedCornerShape(12.dp),
elevation = null
) {
Text(text = "Button", style = AppTextStyle.button())
}
Pressed card view with rounded rectangle shape
| Dark | Light |
|---|---|
![]() |
![]() |
Card(
modifier = Modifier
.size(128.dp)
.neu(
lightShadowColor = AppColors.lightShadow(),
darkShadowColor = AppColors.darkShadow(),
shadowElevation = defaultElevation,
lightSource = LightSource.LEFT_TOP,
shape = Pressed(RoundedCorner(24.dp)),
),
elevation = 0.dp,
shape = RoundedCornerShape(24.dp),
){
// Add child components here.
}
Light source
| LEFT_TOP | RIGHT_TOP | LEFT_BOTTOM | RIGHT_BOTTOM |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Shapes
| Pressed | Elevated |
|---|---|
![]() |
![]() |
![]() |
![]() |
Sample implementation
Reference
Related Questions
Similar Libraries
Showkase
🔦 Showkase is an annotation-processor based Android library that helps you organize, discover and search Jetpack Compose UI elements
LibraryDesign System
Kelp
Kelp is an Android Studio plugin that enhances support for custom design systems written using Jetpack Compose
Design SystemAndroid Studio Plugin
Browse by Category

Be the first to discover new Compose libraries
Curated Insights
Digest in 5 minutes or less
Android Analysis
Entertaining takes on happenings
Insider Tips
From top Android developers
Hidden Gems
You won't find elsewhere
"
"Thanks for taking the time and energy to do it so well!"
— Sebastian Lobato Genco
Android Engineer @ Q42
Join thousands of Android devs who look forward to Dispatch every week
© 2026 All Rights Reserved | Made by Vinay Gaba






















