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
Bottom navigation
Search
Takuji Nishibayashi
October 26, 2016
Technology
180
0
Share
Bottom navigation
Takuji Nishibayashi
October 26, 2016
More Decks by Takuji Nishibayashi
See All by Takuji Nishibayashi
compose-hot-reload を試そうとした話
takuji31
0
150
CameraX使ってみた
takuji31
0
300
kotlinx.datetime 使ってみた
takuji31
0
1k
HiltのCustom Componentについて
takuji31
0
370
java.timeをAndroidで使う
takuji31
0
190
KSPを使ってコード生成
takuji31
0
470
Kotlin Symbol Processing API (KSP) を使って Kotlin ア プリケーションの開発を効率化する
takuji31
1
3.2k
kotlinx.serialization
takuji31
0
690
kanmoba-returns-02.pdf
takuji31
0
290
Other Decks in Technology
See All in Technology
コードレビューを制するチームがソフトウェアデリバリーのフローを制す / Beyond Code Review: Distributing Its Responsibilities Across the SDLC
mtx2s
3
580
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー
tkyowa
0
180
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.8k
大規模災害時でも高い信頼性を維持するアプリケーション基盤の実現/nikkei-tech-talk46
nikkei_engineer_recruiting
0
130
個人AIからチームAIへ:開発における品質と生産性の再設計
moongift
PRO
0
350
オンコールの負荷軽減のためのBits Assistant 活用方法 / How to Use Bits Assistant to Reduce the Workload on On-Call Staff
sms_tech
1
370
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
200
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
1
150
さきさん文庫の書籍ができるまで
sakiengineer
0
330
関西に縁あるMicrosoft MVPsが語るCopilotの未来
kasada
0
970
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
170
【Gen-AX】20260530開催_JJUG CCC 2026 Spring
genax
0
310
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
We Have a Design System, Now What?
morganepeng
55
8.2k
Typedesign – Prime Four
hannesfritz
42
3.1k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
190
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
440
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
330
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Designing for humans not robots
tammielis
254
26k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.8k
Docker and Python
trallard
47
3.9k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
310
Transcript
Bottom navigation @takuji31
@takuji31 (Takuji Nishibayashi) Application Engineer at Hatena
Loves ! (AVG 170 ~ 175)
Loves Kotlin
Kansai.kt #2 Γ·͢
11݄26() 14:30ʙ ͯͳژΦϑΟε
࠷ۙPerlͱ Markdownॻ͍ͯ·͢
AGENDA • Bottom navigation • BottomNavigationViewΛͬͯΈΔ
Bottom navigation
Material Designίϯϙ ʔωϯτͷҰͭ
Bottom navigation bars make it easy to explore and switch
between top- level views in a single tap. — https://material.google.com/components/bottom- navigation.html
Botton navigation • 3ʙ5ͭͷτοϓϨϕϧͷViewΓସ͑ΛγϯάϧλοϓͰߦ ͏ͨΊͷComponent • 3ʙ5ݸҎ֎ͷ࣌ɺτοϓϨϕϧҎ֎ͷ࣌ʹ͏͖Ͱͳ ͍ • Bottom͕ͩɺେ͖ͳը໘ͷ࣌ࠨʹදࣔ͢Δ
None
iOSͷTabBarΈ͍ͨͳ ͭ
͋ΔಥવΨΠυϥΠϯ ʹग़ݱ
ͪΖΜ࣮ͳ͍
!
2016/10/19
Android 7.1 Developer Preview
Support Library 25.0.0
None
αϥͬͱՃ͞Ε͍ͯͨ
Bottom Navigation View ΛͬͯΈΔ
build.gradle dependencies { compile 'com.android.support:design:25.0.0' }
layout.xml <RelativeLayout> <android.support.design.widget.BottomNavigationView app:menu="@menu/bottom_navigation" android:layout_width="match_parent" android:layout_height="wrap_content" /> </RelativeLayout>
menu.xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menu_home" android:icon="@drawable/ic_home_black_24dp" android:title="Home"/> <item android:id="@+id/menu_notifications" android:icon="@drawable/ic_notifications_black_24dp"
android:title="Notifications"/> <item android:id="@+id/menu_profile" android:icon="@drawable/ic_person_black_24dp" android:title="Profile"/> </menu>
Activity override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_bottom_navigation_view) bottomNavigationView.setOnNavigationItemSelectedListener {
textView.text = "This is " + it.title.toString() true } }
None
ͬͯΈͯ • menuͷxmlॻ͚ͩ͘ͰͦΕͬΆ͍ͷ͕Ͱ͖͕͋Δ • ΞΠίϯToolbarͳΜ͔ͱಉ͡Α͏ʹtinting͞ΕΔ • ΠϕϯτOnNavigationItemSelectedListenerΛઃఆͯͦ͠ ͜ͰͳΜ͔Δ
ͬͯΈͯ • 5݅·Ͱ͔͠ஔ͚ͳ͍ɺͦΕҎ্ஔ͍ͨΒྫ֎ • 3݅ͱͦΕҎ্Ͱϝχϡʔࣗମͷݟ͕ͨҧ͏ • 3݅ͷ࣌ςΩετ͖Ͱִؒදࣔ • 4݅Ҏ্ͷ࣌ඇΞΫςΟϒͳͷςΩετඇදࣔɺબ͞Εͨͷ͕͕ ͬͯදࣔ
• Γସ͑࣌ʹΞχϝʔγϣϯ͢ΔΜ͚ͩͲɺͳΜ͔ҧ͏ • API25·ͩPreviewͳͷͰ͏ͱຊମͷιʔείʔυ͕ݟ͑ͳ͍! • ͓ͯͨΜͱ͕ͪ͏ʂ
takuji31/ KanmobaAndroid
enjoy navigation life !