Skip to content

Compose Hammer is a Android Studio plugin that helps you build Compose UI using Material3 components.

Notifications You must be signed in to change notification settings

Ivy-Apps/compose-hammer

Repository files navigation

Compose Hammer

Build Version Downloads

Compose Hammer is a premium Android Studio Jetpack Compose Material3 UI builder plugin that supports 59+ Material3 components and 30+ Jetpack Compose code patterns like remember, mutableStateOf, LaunchedEffects, animations, layouts and more!

TL;DR;

  • Preview directly in Android Studio without building the Material3 (MaterialYou) components from https://m3.material.io.
  • A copy-paste ready implementation code including imports for the Material3 Jetpack Compose components.
  • A quick action (⌥ Option/Alt + ⤶ Enter) that auto-magically generates and inserts the code for you with all the imports necessary.
  • Full customization code for the M3 components, so you can more easily make them match your design requirements.
  • Custom templates: create custom code snippets and components.
  • Relevant links to the M3 Spec (anatomy), M3 Guidelines (usage), and the Official Jetpack Compose docs (code) for all components, so you can quickly find the info that you need.

If you haven't done already, watch the Compose Hammer demo video. Better show, than tell!

In a nutshell, Compose Hammer is so slick that even Thor’s Mjölnir will get envy. Our goal is to make Android UI development with Jetpack Compose - easy, fun and fast. ⚡🔨

⚡ QuickCode (custom code snippets)

Create custom components and code templates that will be available in our new ⚡ QuickCode alt/option + enter shortcut.

Tool window features (Android Studio's right sidebar)

Quick action support (⌥ Option/Alt + ⤶ Enter)

  • ⚡ Quick UI
    • Text
    • Icon
    • Image
    • Spacer (vertical)
    • Spacer (horizontal)
    • Spacer (weight)
    • modifier = Modifier
    • modifier: Modifier = Modifier
    • RoundedCornerShape (dp)
    • RoundedCornerShape (fully rounded)
  • ⚡ Layouts
    • Column
    • Row
    • Box
    • Lazy Column
    • Lazy Row
  • ⚡ Compose runtime
    • by remember { mutableStateOf(false) }
    • by remember { mutableStateOf<String?>(null) }
    • derivedStateOf {}
    • produceState {}
    • Coroutine scope
    • LaunchedEffect
    • with(LocalDensity.current) {}
    • Open link in the browser
    • LocalContext.current
  • ⚡ Animations
    • Visibility: expand/shrink
    • Visibility: slide in/out
    • Crossfade
    • Animate Float
    • Animate Dp
    • Animate Color

Pst: Keep in mind - this an MVP ⚠️, and it’ll only get better. That being said, your feedback and encouragement (positive reviews) are highly appreciated! This will motivate us to work harder and make the plugin better.

P.S. Feel free to report any bugs, missing components or your feedback at our Compose Hammer Telegram chat.