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.3k
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
[DevFestTokyo]Accelerating Flutter App Development Using Generative AI
korodroid
1
640
[DevFestMilano]Enhancing Flutter Apps UX for Global Users
korodroid
0
17
[mobile #15]UX Improvements on Flutter Apps Part 5
korodroid
0
25
[ABC2024Summer]Flutter UX Improvements + α
korodroid
0
490
[YUMEMI.grow Mobile #14]Wear OS Recap from I/O 2024 [short version]
korodroid
0
43
[mobile #14]UX Improvements on Flutter Apps Part 4
korodroid
0
48
[potatotips #87]UX Improvements on Flutter Apps Part 3
korodroid
0
44
[YUMEMI.grow Mobile #12]UX Improvements on Flutter Apps Part 2
korodroid
0
93
[potatotips #86]UX Improvements on Flutter Apps Part 1
korodroid
0
71
Other Decks in Technology
See All in Technology
ネットワーク可視化の世界
likr
7
5.7k
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
360
OCI技術資料 : ファイル・ストレージ 概要
ocise
3
12k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
54k
MasterMemory v3 最速確認会
yucchiy
0
300
プロダクト組織で取り組むアドベントカレンダー/Advent Calendar in Product Teams
mixplace
0
660
Visual StudioとかIDE関連小ネタ話
kosmosebi
1
280
Fearsome File Formats
ange
0
550
Storage Browser for Amazon S3を触ってみた + α
miura55
0
100
NOT VALIDな検査制約 / check constraint that is not valid
yahonda
1
110
.NET 最新アップデート ~ AI とクラウド時代のアプリモダナイゼーション
chack411
0
140
AWS re:Invent 2024 ふりかえり勉強会
yhana
0
700
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
133
9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
340
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Rails Girls Zürich Keynote
gr2m
94
13k
Designing for humans not robots
tammielis
250
25k
How to Ace a Technical Interview
jacobian
276
23k
Speed Design
sergeychernyshev
25
720
Git: the NoSQL Database
bkeepers
PRO
427
64k
Optimising Largest Contentful Paint
csswizardry
33
3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
A Tale of Four Properties
chriscoyier
157
23k
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