Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AndroidアプリのUI/UX改善例その2
Search
Kenichi Kambara
February 28, 2019
Technology
0
1.4k
AndroidアプリのUI/UX改善例その2
potatotips #59の発表資料です。
【Android枠】AndroidアプリのUI/UX改善例その2
Kenichi Kambara
February 28, 2019
Tweet
Share
More Decks by Kenichi Kambara
See All by Kenichi Kambara
[potatotips #92]Integrating Quick Settings Tiles into Your Android App
korodroid
1
120
[ABC2025Spring]Code Less, Build More: A Practical Guide to Mobile Apps with Generative AI
korodroid
0
190
[DevTalksRomania]Building Augmented Reality Experiences with Flutter and AI-Powered Development
korodroid
0
13
[FlutterNinjas]Adapting Flutter App UX for Users Across the World
korodroid
0
43
[FlutterTokyo#6]Navigating Flutter Upgrades
korodroid
0
66
[DevFestTokyo]Accelerating Flutter App Development Using Generative AI
korodroid
2
890
[DevFestMilano]Enhancing Flutter Apps UX for Global Users
korodroid
0
47
[mobile #15]UX Improvements on Flutter Apps Part 5
korodroid
0
60
[ABC2024Summer]Flutter UX Improvements + α
korodroid
0
540
Other Decks in Technology
See All in Technology
どこで動かすか、誰が動かすか 〜 kintoneのインフラ基盤刷新と運用体制のシフト 〜
ueokande
0
170
Engineering Failure-Resilient Systems
infraplumber0
0
130
Exadata Database Service on Dedicated Infrastructure セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
1
350
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
18
52k
PFEM Online Feature Flag @ newmo
shinyaishitobi
2
270
結局QUICで通信は速くなるの?
kota_yata
9
7.5k
歴代のWeb Speed Hackathonの出題から考えるデグレしないパフォーマンス改善
shuta13
6
580
サービスロボット最前線:ugoが挑むPhysical AI活用
kmatsuiugo
0
180
Claude Code x Androidアプリ 開発
kgmyshin
1
510
2025新卒研修・Webアプリケーションセキュリティ #弁護士ドットコム
bengo4com
3
10k
.NET開発者のためのAzureの概要
tomokusaba
0
220
AIドリブンのソフトウェア開発 - うまいやり方とまずいやり方
okdt
PRO
9
500
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
For a Future-Friendly Web
brad_frost
179
9.9k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
The World Runs on Bad Software
bkeepers
PRO
70
11k
KATA
mclloyd
32
14k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Rails Girls Zürich Keynote
gr2m
95
14k
Building Applications with DynamoDB
mza
96
6.6k
Transcript
2019.02.28 Kenichi Kambara (@korodroid) ʲAndroidʳ AndroidΞϓϦͷUI/UXվળྫͦͷ2 potatotips #59
About me •ϞόΠϧؔ࿈׆ಈ •ࠃ֎Ͱͷߨԋ׆ಈ • Droidcon UK/FR/NL/ES/SH • Developers Summit
• Android Bazaar and Conference • StackOverflow DevDays • Cloud Days •ॻ੶ࣥච •ݸਓϒϩάʮMobile Dev Blogʯ •ձࣾϒϩάʮਆݪ݈ҰͷAndroidͰ͕Δੈքʯ •झຯɿཱྀߦʢಛʹॳΊͯͷॴɿݱࡏ26Χࠃʣ •NTTςΫϊΫϩεɹॴଐ ਆݪɹ݈Ұ(@korodroid)
•͓ͷΞϓϦ •UI/UXվળͷBefore/After •ࠓճͷ͓ʢϨΠΞτʣ Agenda
͓ͷΞϓϦ
ηΧΠϑΥϯ
UI/UXվળͷBefore/After
Before [Supporting 18 Languages]
18ϲࠃޠˠ100ϲࠃޠରԠ͢Δͱ…
After [Supporting 100 Languages]
UI/UXվળྫ
ଟ͘ͷ߲͔Βͷબ Ωʔϫʔυݕࡧ Dialog with Search Feature
search-dialog by @mirrajabi https://github.com/mirrajabi/search-dialog
Implementation Sample data class SampleModel(private var title: String) : Searchable
{ // ϥΠϒϥϦͷSearchableΠϯλϑΣʔε࣮ͷͨΊ override fun getTitle(): String { return title; } } ࣮Πϝʔδ: SampleModel.kt (ϞσϧΫϥε(Ϧετͷ֤߲))
Implementation Sample private fun createSampleList(): ArrayList<SampleModel>{ val items = ArrayList<CountryModel>()
items.add(SampleModel(“߲1", R.drawable.image1)) items.add(SampleModel("߲2", R.drawable.image2)) items.add(SampleModel("߲3", R.drawable.image3)) items.add(SampleModel("߲4", R.drawable.image4)) items.add(SampleModel("߲5", R.drawable.image5)) return items } ࣮Πϝʔδ: MainActivity.kt (Ϧετ߲ͷੜ)
Implementation Sample private fun showSampleDialog() { SampleSearchDialogCompat(this, “߲ΛબΜͰ͍ͩ͘͞ɻ", "߲", null,
createSampleList(), SearchResultListener { dialog, item, position -> Toast.makeText(this, item.title, Toast.LENGTH_SHORT ).show() dialog.dismiss() } ).show() } ࣮Πϝʔδ: MainActivity.kt (μΠΞϩάදࣔ/Πϕϯτॲཧ)
ͪΐͬ͜ͱϋϚͬͨ͜ͱ
[Problem] Index of Selected Item after Search
[Before]Implementation private fun showCountryListDialog() { CountrySearchDialogCompat(this, "Select Country", "Country name",
null, createSampleLocalContacts(), SearchResultListener { dialog, item, position -> // [OLD]position͕બ͞Ε߲ͨͱߟ͑ɺॲཧ // … dialog.dismiss() } ).show() } positionʹҙਤͨ͠ͱҟͳΔΠϯσοΫε͕ฦͬͯ͘Δ (ݕࡧޙʹީิ͕ϑΟϧλϦϯά͞Ε߲ͨͰͷΠϯσοΫε)
[After]Implementation ϞσϧଆʹϢχʔΫͳΠϯσοΫεΛՃ (ͦͷΠϯσοΫεΛ༻͍ͯॲཧΛ࣮ࢪ͢ΔΑ͏ʹमਖ਼) private fun showCountryListDialog() { CountrySearchDialogCompat(this, "Select Country",
"Country name", null, createSampleLocalContacts(), SearchResultListener { dialog, item, position -> // [NEW]ϞσϧϢχʔΫΠϯσοΫεՃ+ಉΠϯσοΫεΛ༻͍ͯॲཧ // … dialog.dismiss() } ).show() }
•search-dialog https://github.com/mirrajabi/search-dialog Reference
Please let me know if you have any requests
such as technical speeches, technical writings and so on. Facebook:http://fb.com/kanbara.kenichi Google+:+Kenichi Kambara LinkedIn:http://www.linkedin.com/in/korodroid Twitter:@korodroid Thank you so much