LennartEgb / vec2compose

cli tool to create jetpack compose ImageVector from vector XML files and SVG files in Android

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vec2compose

random logo showing svg and xml logo pointing to jetpack compose logo

A CLI tool to create ImageVector from Android vector XML and SVG.

Setup

Clone this repository and run ./gradlew assembleCli to generate the native binary to the dist folder.

Usage

There are two options to create the ImageVector. The first option is to create a Kotlin file.

vec2compose -i ic_done.xml -o DoneIcon.kt

The second option is to print the ImageVector to the console.

vec2compose -i ic_done.xml
ImageVector.Builder(
    name = "ic_done",
    defaultWidth = 24.dp,
    defaultHeight = 24.dp,
    viewportWidth = 24f,
    viewportHeight = 24f
).path(
    fill = SolidColor(Color.Black),
    fillAlpha = 1f,
    stroke = null,
    strokeAlpha = 1f,
    strokeLineWidth = 1f,
    strokeLineCap = StrokeCap.Butt,
    strokeLineJoin = StrokeJoin.Bevel,
    strokeLineMiter = 1f,
    pathFillType = PathFillType.NonZero
) {
    moveTo(9.0f, 16.2f)
    lineTo(4.8f, 12.0f)
    lineToRelative(-1.4f, 1.4f)
    lineTo(9.0f, 19.0f)
    lineTo(21.0f, 7.0f)
    lineToRelative(-1.4f, -1.4f)
    lineTo(9.0f, 16.2f)
    close()
}.build()

Motivation

This is a project to play around with CLI tools and support the Jetpack Compose development. A custom icon set can be generated as the material icon set without adding XML resources.

About

cli tool to create jetpack compose ImageVector from vector XML files and SVG files in Android

License:MIT License


Languages

Language:Kotlin 99.6%Language:Shell 0.4%