Popularity
5.7
Stable
Activity
0.0
Stable
656
46
63

Programming language: Java
License: MIT License
Tags: Utility    
Latest version: v0.2.0

MrVector alternatives and similar packages

Based on the "Utility" category.
Alternatively, view MrVector alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of MrVector or a related project?

Add another 'Utility' Package

README

@Deprecated

Unfortunatenly this library is no longer maintained, we encourage you to use first party VectorDrawableCompat coming soon to support library.

Mr. Vector

Mr. Vector

AKA VectorDrawableCompat: A 7+ backport of VectorDrawable.

Demo

Le demo

Mr. Vector Demo on Google Play Store

Usage

See demo, at this point latest version looks like

compile 'com.telly:mrvector:0.2.0'

Basic inflate

Drawable drawable = MrVector.inflate(getResources(), R.drawable.vector_android);

Unfortunately due some inflate weirdness (able to read some correctly but not others) for now (will fix promise) you'll have to duplicate (sucks I know) all your android: attributes, in example:

Note: you must put auto attributes before android attributes (See #5)

Furthermore: you can use online convertor svg to VectorDrawable + MrVector scheme support

<vector xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:auto="http://schemas.android.com/apk/res-auto"
        tools:targetApi="21"

        auto:width="@dimen/simple_vector_width"
        auto:height="@dimen/simple_vector_height"
        auto:viewportWidth="@integer/simple_vector_viewport_width"
        auto:viewportHeight="@integer/simple_vector_viewport_height"

        android:width="@dimen/simple_vector_width"
        android:height="@dimen/simple_vector_height"
        android:viewportWidth="@integer/simple_vector_viewport_width"
        android:viewportHeight="@integer/simple_vector_viewport_height"
    >

  <path
      auto:strokeColor="@color/simple_vector_stroke_color"
      auto:strokeWidth="@integer/simple_vector_stroke_width"
      auto:pathData="@string/simple_vector_path_data"

      android:strokeColor="@color/simple_vector_stroke_color"
      android:strokeWidth="@integer/simple_vector_stroke_width"
      android:pathData="@string/simple_vector_path_data"
      />
</vector>

Inflate from Layout (WIP)

Use it as a regular drawable:

<!-- menu.xml -->
<!-- ... -->
   android:icon="@drawable/vector_drawable"
<!-- ... -->
<!-- layout.xml -->
<!-- ... -->
   android:src="@drawable/vector_drawable"
<!-- ... -->

And then from your Application or Activity:

\\ ...
  {{
    MrVector.register(
      R.drawable.vector_drawable,
      R.drawable.another_vector_drawable,
      \\ ...
    );
  }}
\\ ...
  @Override
  protected void attachBaseContext(Context newBase) {
    super.attachBaseContext(MrVector.wrap(newBase));
  }
\\ ...

Roadmap

Right now only basic inflating works, this is the list of features planed:

  • [ ] Put this in GH issues.
  • [ ] Full inflate from layout support (partially implemented except for TypedArray calling directly loadDrawable, which sadly is key)
  • [ ] Get rid of auto namespace, use android namespace as much as possible (no duplicated attributes).
  • [ ] Tint support.
  • [ ] Animation support (AnimatedVectorDrawable).

On the long run, it would be nice to see (but no promises):

  • [ ] Per node animation.
  • [ ] Additional SVG support (e.g. using svg-android or svgandroid).
  • [ ] SVG animation support.

Applications using Mr.Vector:

WatchMe

License & About

See LICENSE file, logo built from opoloo/androidicons.

From @eveliotc @ Telly


*Note that all licence references and agreements mentioned in the MrVector README section above are relevant to that project's source code only.