mapbox / mapbox/maki

Support Android Vector Drawables

Open
#247 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
JavaScript
Stars
1.6k
Forks
210
PR merge metrics
No merged PRs in 30d

Description

The goal of this ticket is to bring native support to Maki on Android using Vector Drawables. This is both useful for the current Mapbox SDK and for the upcoming mobile navigation SDK.
## Background

Android [Vector Drawables](http://developer.android.com/training/material/drawables.html#VectorDrawables) are XML files that contain an `android:pathData` element which follows the SVG Path reference. This means that although Android Vector Drawables are not pure SVG files, the transformation between the two should be straightforward (at least in theory).

Consuming a Vector Drawable in Android hasn't been historically easy to do though, because it was only supported by recent versions of Android. Instead, to remain backwards compatible, developers had to create different sizes of the same bitmap file and add them to their project. This has changed recently with the introduction of the Android Support Library 23.2 that brings support for API levels back to 11, in practice, all API levels supported by the Mapbox Android SDK (15+).

Related ticket: https://github.com/mapbox/mapbox-gl-native/issues/4112
## Next steps
- [x] Test with [Android's Asset Studio](http://developer.android.com/tools/help/vector-asset-studio.html) during next Maki release
- [x] Automate import process
- [x] Evaluate packaging Maki with Mapbox Android SDK
- [x] Evaluate packaging Maki with Mapbox Android Navigation SDK

/cc: @samanpwbb @tobrun @bleege

_Note: Ticket moved from original in https://github.com/mapbox/maki-2/issues/43_

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the Android Vector Drawables and Asset Studio links in the issue, then inspect the Maki packaging and import process. Compare the generated assets with the Mapbox Android SDK and Navigation SDK requirements; done means native Vector Drawable support is imported and packaged for both targets.

Written by the indexing model from the issue text.

Assessment

Tech stack
android
Domain
mobile-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.