Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
BottomAppBarの話
Search
star_zero
March 20, 2018
Technology
360
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
BottomAppBarの話
shibuya.apk #23
star_zero
March 20, 2018
More Decks by star_zero
See All by star_zero
今からはじめるAndroidアプリ開発 2024 / DevFest 2024
star_zero
0
1.6k
Jetpack Compose の Side-effect を使いこなす / DroidKaigi 2023
star_zero
5
7.3k
Android 14 新機能 / Android 14 Meetup Nagoya
star_zero
1
700
Android 14 と Predictive back gesture / Shibuya.apk #42
star_zero
0
510
Coroutines Test 入門 / Android Test Night #8
star_zero
2
1.4k
What's new in Jetpack / I/O Extended Japan 2022
star_zero
1
730
Kotlin 2021 Recap / DevFest 2021
star_zero
3
1.4k
Kotlin Symbol Processing (KSP) を使ったコード生成 / DroidKaigi 2021
star_zero
2
5.3k
What's new Android 12
star_zero
0
630
Other Decks in Technology
See All in Technology
データ品質を壊しながらSnowflakeのAIに分析させてみた
kawanago
0
410
Apache Iceberg が拓く AI 時代のオープンレイクハウス
tomtanaka
0
210
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
220
行動するAIのためのオントロジー | DevRev — Encraft #26.pdf
dvrv_tknrszk
2
670
形式手法を使って仕様をコーディングしよう
mikanichinose
0
170
メルカリにおけるAI時代の高速プロトタイピング基盤「Arca」
ryotarai
18
14k
自主式軟體工廠
philipz
0
120
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
150
企業の現実世界をグラフで写し取る
sansantech
PRO
0
250
AI臭い文章とは何なのか
nasuvitz
38
77k
AI駆動開発で仕様はどこまで書くべきか? ― 人とAIの責務境界から考える開発プロセスの実践
takahiromatsui
1
300
Snowflake Horizon Catalog と Apache Iceberg で作る オープンなデータ基盤
kitagawaz
0
390
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Being A Developer After 40
akosma
91
590k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
520
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
2k
Everyday Curiosity
cassininazir
0
340
Scaling GitHub
holman
464
140k
We Have a Design System, Now What?
morganepeng
55
8.3k
Statistics for Hackers
jakevdp
799
230k
Transcript
BottomAppBarの話 shibuya.apk #23 2018/03/20 @STAR_ZERO
Support Library 28.0.0 Alpha1
Support Library 28.0.0 Alpha1
Material Design Components for iOS https://material.io/components/ios/catalog/
None
基本的な使い方
build.gradle apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions'
android { compileSdkVersion 'android-P' // ... } dependencies { // ... implementation 'com.android.support:appcompat-v7:28.0.0-alpha1' implementation 'com.android.support:design:28.0.0-alpha1' }
Layout XML <android.support.design.widget.CoordinatorLayout> <android.support.design.widget.AppBarLayout> <android.support.v7.widget.Toolbar /> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_main" />
<android.support.design.bottomappbar.BottomAppBar android:id="@+id/bottomappbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:layout_gravity="bottom" app:backgroundTint="@color/colorPrimary" app:layout_dodgeInsetEdges="bottom" app:popupTheme="@style/AppTheme.PopupOverlay" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_anchor="@id/bottomappbar" app:srcCompat="@drawable/ic_add" /> </android.support.design.widget.CoordinatorLayout>
Layout XML <android.support.design.bottomappbar.BottomAppBar android:id="@+id/bottomappbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:layout_gravity="bottom" app:backgroundTint="@color/colorPrimary" app:layout_dodgeInsetEdges="bottom" app:popupTheme="@style/AppTheme.PopupOverlay"
/>
Layout XML <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_anchor="@id/bottomappbar" app:srcCompat="@drawable/ic_add" />
カスタマイズ
FABの表示位置変更 app:fabAlignmentMode="end"
メニューを表示 bottomappbar.replaceMenu(R.menu.menu_bottom) Center End
くぼみの距離(深さ) 0dp (default) 20dp app:fabCradleVerticalOffset="20dp"
くぼみの直径 64dp (default) 92dp app:fabCradleDiameter="92dp"
くぼみの角の丸み 12dp 8dp (default) app:fabCradleRoundedCornerRadius="12dp" 0dp
アニメーション
くっついたり離れたり // くっつく bottomappbar.isFabAttached = true // 離れる bottomappbar.isFabAttached =
false
真ん中いったり右にいったり // 真ん中 bottomappbar.fabAlignmentMode = BottomAppBar.FAB_ALIGNMENT_MODE_CENTER // 右 bottomappbar.fabAlignmentMode =
BottomAppBar.FAB_ALIGNMENT_MODE_END
おわり