master of canvas

60
Master of Canvas Droid Kaigi 2016 RoomB Yuki Mima (@amyu_san)

Upload: mima-yuki

Post on 09-Jan-2017

11.996 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Master of Canvas

Master of CanvasDroid Kaigi 2016 RoomB Yuki Mima (@amyu_san)

Page 2: Master of Canvas

About me

▸ Name : Yuki Mima

▸ Twitter : @amyu_san

▸ Github : amyu

▸ Work : University Student

Page 3: Master of Canvas

Do you think what a good application?

Page 4: Master of Canvas

It is great service content?

Page 5: Master of Canvas

I think it has a great UI/UX

Page 6: Master of Canvas

I want to give the user the aha experience!

Page 7: Master of Canvas

Agenda

▸ WaveSwipeRefreshLayout

▸ Path#cubicTo

▸ TypeEvaluator

▸ Interpolator

▸ BeerSwipeRefreshLayout

▸ Path#op

▸ ColoringLoading, TextMorphingView

▸ To extract the path from Illustrator

Page 8: Master of Canvas

WaveSwipeRefreshLayout

‣ Path#cubicTo ‣ TypeEvaluator ‣ Interpolator

Page 9: Master of Canvas

WaveSwipeRefreshLayout

Path#cubicTo

▸ public void cubicTo (float x1, float y1, float x2, float y2, float x3, float y3)

Add a cubic bezier from the last point, approaching control points (x1,y1) and (x2,y2), and ending at (x3,y3). If no moveTo() call has been made for this contour, the first point is automatically set to (0,0).

Page 10: Master of Canvas

WaveSwipeRefreshLayout

Path#cubicTo

Page 11: Master of Canvas

WaveSwipeRefreshLayout

Path#cubicTo

Page 12: Master of Canvas

Next TypeEvaluator

Page 13: Master of Canvas

WaveSwipeRefreshLayout

TypeEvaluator

▸ This function returns the result of linearly interpolating the start and end values, with fraction representing the proportion between the start and end values.

▸ Property values can get by ValueAnimator#getAnimatedValue ()

▸ ValueAnimator.ofObject(…)

Page 14: Master of Canvas

WaveSwipeRefreshLayout

TypeEvaluator

▸ ArgbEvaluator

▸ This evaluator can be used to perform type interpolation between integer values that represent ARGB colors.

▸ RectEvaluator

▸ This evaluator can be used to perform type interpolation between Rect values.

▸ PointFEvaluator

▸ …

Page 15: Master of Canvas

WaveSwipeRefreshLayout

TypeEvaluator

Page 16: Master of Canvas

WaveSwipeRefreshLayout

TypeEvaluator

Page 17: Master of Canvas

Next Interpolator

Page 18: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

▸ An interpolator defines the rate of change of an animation. This allows the basic animation effects (alpha, scale, translate, rotate) to be accelerated, decelerated, repeated, etc.

Page 19: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

http://www.adakoda.com/adakoda/2011/08/android-38.html

Page 20: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Page 21: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

http://cogitolearning.co.uk/?p=1078

Page 22: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Page 23: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Page 24: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Page 25: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Reversal

Page 26: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Page 27: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Grapher

Page 28: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Page 29: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Page 30: Master of Canvas

Next Step Interpolator

Page 31: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Page 32: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

▸ To implement the Interpolator of vertical and horizontal.

Page 33: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Page 34: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Page 35: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Page 36: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Page 37: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Page 38: Master of Canvas

WaveSwipeRefreshLayout

Interpolator

Page 39: Master of Canvas

BeerSwipeRefreshLayout‣ Path#op

Page 40: Master of Canvas

BeerSwipeRefreshLayout

Path#op

▸ Added in API level 19

▸ Set this path to the result of applying the Op to this path and the specified path. The resulting path will be constructed from non-overlapping contours.

Page 41: Master of Canvas

BeerSwipeRefreshLayout

Path#op

Path to be Op

Path to Op

Page 42: Master of Canvas

BeerSwipeRefreshLayout

Path#op DIFFERENCE

Page 43: Master of Canvas

BeerSwipeRefreshLayout

Path#op REVERCE_DIFFERENCE

Page 44: Master of Canvas

BeerSwipeRefreshLayout

Path#op INTERESECT

Page 45: Master of Canvas

BeerSwipeRefreshLayout

Path#op UNION

Page 46: Master of Canvas

BeerSwipeRefreshLayout

Path#op XOR

Page 47: Master of Canvas

BeerSwipeRefreshLayout

Path#op

Page 48: Master of Canvas

BeerSwipeRefreshLayout

Path#op

Page 49: Master of Canvas

BeerSwipeRefreshLayout

Path#op

Page 50: Master of Canvas

ColoringLoading TextMorphingView

‣ To extract the path from Illustrator

Page 51: Master of Canvas

ColoringLoading, TextMorphingView

To extract the path from Illustrator

Page 52: Master of Canvas

ColoringLoading, TextMorphingView

To extract the path from Illustrator

Page 53: Master of Canvas

ColoringLoading, TextMorphingView

To extract the path from Illustrator

Page 54: Master of Canvas

ColoringLoading, TextMorphingView

To extract the path from Illustrator

▸ ExtendScript Toolkit

▸ development and debugging tool for JavaScript scripts included with Adobe Creative Suide 4 and applications such as Bridge, Photoshop, Illustrator, InDesign, and After Effects.

Page 55: Master of Canvas

ColoringLoading, TextMorphingView

To extract the path from Illustrator

Page 56: Master of Canvas

ColoringLoading, TextMorphingView

To extract the path from Illustrator

Page 57: Master of Canvas

ColoringLoading, TextMorphingView

To extract the path from Illustrator

Page 58: Master of Canvas

Finally…

Page 59: Master of Canvas

Thank you for Listening!

Page 60: Master of Canvas

Text

▸ WaveSwipeRefreshLayout

▸ https://github.com/recruit-lifestyle/WaveSwipeRefreshLayout

▸ BeerSwipeRefreshLayout

▸ https://github.com/recruit-lifestyle/BeerSwipeRefresh

▸ ColoringLoading

▸ https://github.com/recruit-lifestyle/ColoringLoading

▸ Pikasan

▸ https://github.com/amyu/Pikasan