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
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.2k
Android 14 新機能 / Android 14 Meetup Nagoya
star_zero
1
690
Android 14 と Predictive back gesture / Shibuya.apk #42
star_zero
0
500
Coroutines Test 入門 / Android Test Night #8
star_zero
2
1.4k
What's new in Jetpack / I/O Extended Japan 2022
star_zero
1
720
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
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
720
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
1
410
事業価値と Engineering 2026年度版
recruitengineers
PRO
49
23k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
システム思考で問題に対処する
yussak
0
280
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
250
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
130
会社紹介資料 / Sansan Company Profile
sansan33
PRO
23
430k
ラジオの科学
frievea
0
310
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
140
Model Studio CLI × Token Plan
maigo999
0
180
Featured
See All Featured
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
240
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
650
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
The Cult of Friendly URLs
andyhume
79
7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.3k
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
おわり