Profile cover photo
Profile photo
Alex Lockwood
Blogger, Go Programmer, and Android Enthusiast
Blogger, Go Programmer, and Android Enthusiast


Post is pinned.Post has attachment
Introducing Shape Shifter v1.0,

For the past 2 months I've been working tirelessly on merging Shape Shifter and +Roman Nurik​ Android Icon Animator tool into a single web app. Today I am finally ready to release Shape Shifter v1.0, which provides the following features:

* Build layered vector graphics using groups, paths, and clip paths. (
* Create property animations for each individual layer and organize them via a timeline. (
* Edit the individual properties of each layer/property animation by hand and view how they affect the rendered result. (
* Create path morphing animations even if the path strings are incompatible. Shape Shifter will detect whether the path strings are incompatible and will prompt you to either “auto fix” the paths or to fix them by hand. ( Note that pretty much all of the functionality that existed in previous versions of this tool is hidden behind that “edit paths” button in the screenshot, so don’t miss it! :)
* Export the resulting animation to SVG, VectorDrawable, AnimatedVectorDrawable, and SVG spritesheet format (CSS keyframes coming soon).

In addition to these features, Shape Shifter can also be used as a SVG-to-VectorDrawable converter (better than most of the existing conversion tools out there IMO).

It is also a great educational tool for teaching Android developers about AnimatedVectorDrawables (i.e. the layers make up the VectorDrawable specified in the <animated-vector android:drawable=“…”> attribute and the animation blocks are the AVD’s <target> nodes).

There are several demos available to try under “File” —> “Demo”. If you want to create your own icon animations, I recommend downloading/importing some SVGs from and seeing what you can come up with.

In the coming weeks I’ll be posting more documentation/videos illustrating how to use the tool. Until then, I would love to hear your thoughts/suggestions/ideas for further improving the tool!

Live version:
Video tutorial:
Source code:
Intro to icon animations:
Animated Photo

So... tried to set up an Adwords account yesterday, and this morning I wake up to learn my account was suspended due to 'suspicious payment activity'. Have no clue why. I tried to appeal the decision but it was immediately rejected.

Any Googlers out there have any advice on how to proceed?

Post has shared content
The second post in the ViewModel series is out!

Learn more here:

In part one, we looked at a simple example with the new ViewModel Architecture Component. This time, we're taking a look at how ViewModels relate to local persistence, onSaveInstanceState() and Loaders. There's also an explanation of saving and reloading complex UI state efficiently with a ViewModel.

There's more to come, so let us know your ViewModel and android architecture related questions!

Post has attachment
happy birthday to me. my present is ShapeShifter v1.0.2.

full changelog:

live version:

Post has attachment
made a cool animation.

you can view it by opening this .shapeshifter file:

PM me if you work somewhere cool in NYC because i started applying to a couple places today. :p

Post has shared content
Lessons learned while converting to Kotlin with Android Studio

Just converted your app to Kotlin? Here are some tips to improve your code!

Read the blog post here:

Post has attachment
Shape Shifter v1.0.1,

Mainly bug fixes and improvements to SVG import/export. Next thing I'm going to tackle is importing clip-paths from SVG to VectorDrawable. Should be fun. :D

Full change log here:

Post has attachment
here's a preview of what i'm hoping to release early next week:

Post has attachment
Shape Shifter makes an appearance at Google I/O! (25:40-26:00)
Wait while more posts are being loaded