Skip to content

[Enhancement]: Migrate .xml SVG drawables to Compose ImageVector #26

@theMr17

Description

@theMr17

Summary of Improvement

Migrate existing vector drawable resources (.xml files) to Jetpack Compose’s ImageVector format using the rememberVectorPainter or Icons API for improved performance, consistency, and compatibility within the Compose UI framework.

Current Implementation

Currently, vector assets are defined in .xml format and rendered using painterResource(id = R.drawable.some_icon) in Compose. This requires compatibility layers and doesn't leverage the full power of Compose's vector APIs.

Note: Several icons are being introduced by #22.

Proposed Solution

Convert all .xml vector drawables to Kotlin-based ImageVector objects using any plugin or manually. Replace usages of painterResource(R.drawable.some_icon) with rememberVectorPainter(image = SomeIcon) or directly use the generated Icons where applicable. This enables:

  • Seamless theming and tinting
  • Better performance
  • Full Compose-native integration

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementImprovements or additions to existing feature/code

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions