Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/japgolly/svg-android

Fork of svg-android +SVN history +Maven +more
https://github.com/japgolly/svg-android

Last synced: 10 days ago
JSON representation

Fork of svg-android +SVN history +Maven +more

Awesome Lists containing this project

README

        

# Status: Unmaintained. Discontinued.
This project is no longer being developed or maintained.

### _

This is forked from the awesome but unmaintained:
http://code.google.com/p/svg-android/

Changes
=======
* Mavenised.
* Added SVGBuilder to allow easy specification of SVG parsing & rendering options.
* ColorFilters can now be applied.
* Layer opacity and hiding is now supported.
* This library now works with Robolectric.
* SVG viewBox attribute is now handled.
* Numbers with exponents are handled.
* SVGZ (gzipped svg) auto-detected and supported. (Thank @josefpavlik & @mstevens83)
* Performance enhancements.
* Has most community patches applied. Great work to
[josefpavlik](https://github.com/josefpavlik/svg-android) and
[mrn](https://github.com/mrn/svg-android)

Maven
=====
Add this to your Android project's pom.xml:
```xml

com.github.japgolly.android
svg-android
2.0.6

```

Usage
=====

Firstly, store your SVGs in `res/raw` or `assets`.

```java
// Load and parse a SVG
SVG svg = new SVGBuilder()
.readFromResource(getResources(), R.raw.someSvgResource) // if svg in res/raw
.readFromAsset(getAssets(), "somePicture.svg") // if svg in assets
// .setWhiteMode(true) // draw fills in white, doesn't draw strokes
// .setColorSwap(0xFF008800, 0xFF33AAFF) // swap a single colour
// .setColorFilter(filter) // run through a colour filter
// .set[Stroke|Fill]ColorFilter(filter) // apply a colour filter to only the stroke or fill
.build();

// Draw onto a canvas
canvas.drawPicture(svg.getPicture());

// Turn into a drawable
Drawable drawable = svg.createDrawable();
// drawable.draw(canvas);
// imageView.setImageDrawable(drawable);
```