Androidアプリの使いやすさのための技術的な工夫と取り組み #mixleap

308 Views

February 28, 20

スライド概要

2020年1月30日(木)に、ヤフー大阪オフィスで「Mix Leap Study #57 - iOS & Android勉強会」を開催しました。

「PayPayフリマ」「Yahoo!天気」のAndroidアプリ、そして社内の研究開発から生まれたGPS不要の屋内ナビゲーション手法「SCAN」のiOSアプリを開発する3組のエンジニア・デザイナーが、その開発ノウハウを語りました。

イベントの詳細については、下記connpassページをご覧ください。
https://yahoo-osaka.connpass.com/event/159924/

profile-image

2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Mix Leap Study #57 iOS & Android Android Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

2.

OHMAE Ryosuke) • • Qiita: @ryo_mm2d • Github: https://github.com/ohmae/ • • • DroidKaigi 2020 • Android Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. Yahoo!

3.

Android Yahoo! Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

4.

Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

5.

Let’s Install https://play.google.com/store/apps/details?id=jp.co.yahoo.android.weather.type1 Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

6.

Android Let’s Install https://play.google.com/store/apps/details?id=jp.co.yah oo.android.weather.type1 Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. iOS https://apps.apple.com/jp/app/id521974902

7.

Android Yahoo! Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

8.

Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

9.

•8 →17 • •1 48 • • • • Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. →72

10.

Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

11.

• • • • • • Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

12.

Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

13.

• • • • Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

14.

• • • Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

15.

Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

16.

• • • • Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

17.

• • • • Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

18.

• • • • X Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

19.

View Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

20.

Android • onTouchEvent() • View :true • onInterceptTouchEvent() • ViewGroup • • dispatchTouchEvent() • Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. :true

21.

Android ViewGroup ViewGroup ① intercept View ② intercept Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved. touch dispatch dispatch dispatch ④ touch ⑤ touch ③ true

22.

Android • View • • ViewGroup • Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

23.

• • • Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

24.

• • • • Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

25.

• • • • • Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

26.

• • → Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

27.

Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

28.

Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

29.
[beta]
private val touchSlop: Float = ViewConfiguration.get(context).scaledTouchSlop.toFloat()
override fun onInterceptTouchEvent(event: MotionEvent): Boolean {
when (event.action) {
MotionEvent.ACTION_DOWN -> {
ViewPager
startX = event.x
Intercept
findParentViewPager(parent)
?.requestDisallowInterceptTouchEvent(true)
}
X
MotionEvent.ACTION_MOVE -> {
val dx = event.x - startX
if (abs(dx) >= touchSlop) {
parent.requestDisallowInterceptTouchEvent(true)
listener?.invoke(dx < 0)
return true
Intercept
}
}
}
return false
}

Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

30.

• • • • Yahoo! Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.

31.

Yahoo! Copyright© 2020 Yahoo Japan Corporation. All Rights Reserved.