React Nativeで作る色々なジェスチャー
by
Yosuke Saito
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
@saitoxu React NativeͰ࡞Δ ৭ʑͳδΣενϟʔ
Slide 2
Slide 2 text
ࣗݾհ • @saitoxu ʢ͍͞ͱ͏ʣ • Co-Founder&CTO@Carat Inc. • 2ظʹೖ͔ͬͨΓͷελʔτΞο ϓ • React, React Native, Rails, Python… • ωΠςΟϒझຯͰ͔͠ॻ͍ͨ͜ͱͳ ͍Ϛϯ
Slide 3
Slide 3 text
αʔϏεհ • ٻ৬ɾస৬ΞϓϦGLITʢάϦοτʣ • TinderϥΠΫͳUI͕ಛ • https://glit.io • React Native • ͕ͩݱࡏiOS൛ͷΈ.. • JSΤϯδχΞઈࢍืूͯ͠·͢..ʂ
Slide 4
Slide 4 text
ΞϓϦͰΑ͘͏ δΣενϟʔ
Slide 5
Slide 5 text
1. λοϓ 2. ԡ͠ 3. μϒϧλοϓ 4. υϥοά 5. εϫΠϓ 6. ϐϯνΠϯˍϐϯνΞτ
Slide 6
Slide 6 text
React NativeͰ Ͳ͏࡞Δ͔ʁ
Slide 7
Slide 7 text
1. λοϓ • Touchable*ίϯϙʔωϯτΛ༻
Slide 8
Slide 8 text
2. ԡ͠ • Touchable*ίϯϙʔωϯτͷonLongPressͱ͍͏props Λ༻
Slide 9
Slide 9 text
3. μϒϧλοϓ • Touchable*ͷonPressൃՐͷִ͕ؒx msҎͩͬͨΒμϒϧλοϓͱΈͳ͢
Slide 10
Slide 10 text
3. μϒϧλοϓ • Touchable*ͷonPressൃՐͷִ͕ؒx msҎͩͬͨΒμϒϧλοϓͱΈͳ͢
Slide 11
Slide 11 text
4. υϥοά • δΣενϟʔΛѻ͏PanResponderΛ༻ • evtgestureStateΛհͯ͠Componentͷ࠲ඪҠಈྔͳͲ͕औಘͰ͖Δ
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
pan.x pan.y (1) ॳظԽ
Slide 14
Slide 14 text
offset x + 0 offset y + 0 (2) υϥοά։࢝࣌
Slide 15
Slide 15 text
offset x offset y dx dy (3) υϥοάத
Slide 16
Slide 16 text
pan.x pan.y (4) ͨ͠ޙ
Slide 17
Slide 17 text
5. εϫΠϓ • υϥοάͱ͋·ΓมΘΒͳ͍ • ᮢͷઃఆͱΞχϝʔγϣϯ͕ඞཁ υϥοάͯ͠ᮢΛ͑Δ ΞχϝʔγϣϯͰඈΜͰ͘
Slide 18
Slide 18 text
dx threshold decay
Slide 19
Slide 19 text
6. ϐϯνΠϯˍϐϯνΞτ • gestureState.numberActiveTouches: ༗ޮͳ λονͷ • evt.nativeEvent.touches: λονΠϕϯτͷΦ ϒδΣΫτɻλον͞Εͨॴͷ࠲ඪͳͲ͕ೖͬ ͍ͯΔ
Slide 20
Slide 20 text
distance
Slide 21
Slide 21 text
distance
Slide 22
Slide 22 text
͓ΘΓʹ • جຊతͳδΣενϟʔͷ࣮Λհ͠·ͨ͠ • ͜ΕΒͷδΣενϟʔAnimationͳͲΛ͞Β ʹΈ߹ΘͤɺωΠςΟϒͬΆ͍͍͍ײ͡ͷ UI/UXΛ࡞͍͖ͬͯ·͠ΐ͏
Slide 23
Slide 23 text
Thanks!!