SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
2018/06/07 umeda.apk #4
Who are you?
▸ ( )
▸ tech vein ( )
▸
▸ GitHub: kwmt twitter: kwmt27
▸ Google I/O2018
2
▸ navigation-ui
▸ navigation-ui
▸ navigation-ui
▸
3
/18
▸ Navigation Architecture Component
▸ 1.0.0-alpha01
▸ Navigation Drawer BottomNavigation
▸ navigation-fragment
4
implementation 'android.arch.navigation:navigation-fragment:1.0.0-alpha01'
implementation 'android.arch.navigation:navigation-ui:1.0.0-alpha01'
/185
class MainActivity : AppCompatActivity() {
private val binding: MainActivityBinding by lazy {
DataBindingUtil.setContentView<MainActivityBinding>(this, R.layout.main_activity)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setSupportActionBar(binding.toolbar)
ActionBarDrawerToggle(
this,
binding.drawerLayout,
binding.toolbar,
R.string.openDrawerContentDescRes,
R.string.closeDrawerContentDescRes
)
.also { binding.drawerLayout.addDrawerListener(it) }
.apply {
isDrawerIndicatorEnabled = true
isDrawerSlideAnimationEnabled = true
syncState()
}
binding.navView.setNavigationItemSelectedListener {
val f = when (it.itemId) {
R.id.mainFragment -> MainFragment()
R.id.repositoryListFragment -> RepositoryListFragment()
else -> MainFragment()
}
val ft = supportFragmentManager.beginTransaction()
ft.add(R.id.main_nav_host_fragment, f)
ft.commitNow()
binding.drawerLayout.closeDrawers()
true
}
}
}
/186
/187
class MainActivity : AppCompatActivity() {
private val binding: MainActivityBinding by lazy {
DataBindingUtil.setContentView<MainActivityBinding>(this, R.layout.main_activity)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setSupportActionBar(binding.toolbar)
findNavController(R.id.main_nav_host_fragment).apply {
setupActionBarWithNavController(this, binding.drawerLayout)
binding.navView.setupWithNavController(this)
}
}
override fun onSupportNavigateUp(): Boolean =
binding.drawerLayout.navigateUp(findNavController(R.id.main_nav_host_fragment))
}
/188
/189
🤔
/1810
/1811
Navigation
startDestination※
※ startDestination
/1812
/1813
/1814
/1815
😱
/1816
/18
▸ b.androd.com issue
▸ won’t fix
▸
▸ navigation-ui alpha
17
/18
▸ 6/14 Osaka Mix Leap Study #16 - Android JetPack
▸ https://yahoo-osaka.connpass.com/event/89865/
▸ 6/15 Dev #2 WWDC & Google IO
▸ https://kyoto-dev-cafe.connpass.com/event/89875/
18

Contenu connexe

Tendances

Android code puzzlers + tips & tricks
Android code puzzlers + tips & tricksAndroid code puzzlers + tips & tricks
Android code puzzlers + tips & tricks
NLJUG
 

Tendances (15)

Android Wear Essentials
Android Wear EssentialsAndroid Wear Essentials
Android Wear Essentials
 
The 2016 Android Developer Toolbox [MOBILIZATION]
The 2016 Android Developer Toolbox [MOBILIZATION]The 2016 Android Developer Toolbox [MOBILIZATION]
The 2016 Android Developer Toolbox [MOBILIZATION]
 
@Ionic native/google-maps
@Ionic native/google-maps@Ionic native/google-maps
@Ionic native/google-maps
 
State management in android applications
State management in android applicationsState management in android applications
State management in android applications
 
Sequence diagrams
Sequence diagramsSequence diagrams
Sequence diagrams
 
Material Design and Backwards Compatibility
Material Design and Backwards CompatibilityMaterial Design and Backwards Compatibility
Material Design and Backwards Compatibility
 
Android Sliding Menu dengan Navigation Drawer
Android Sliding Menu dengan Navigation DrawerAndroid Sliding Menu dengan Navigation Drawer
Android Sliding Menu dengan Navigation Drawer
 
A friend in need - A JS indeed
A friend in need - A JS indeedA friend in need - A JS indeed
A friend in need - A JS indeed
 
Advancing the UI — Part 1: Look, Motion, and Gestures
Advancing the UI — Part 1: Look, Motion, and GesturesAdvancing the UI — Part 1: Look, Motion, and Gestures
Advancing the UI — Part 1: Look, Motion, and Gestures
 
Getting Ready For Android Wear
Getting Ready For Android WearGetting Ready For Android Wear
Getting Ready For Android Wear
 
Implementing cast in android
Implementing cast in androidImplementing cast in android
Implementing cast in android
 
Slightly Advanced Android Wear ;)
Slightly Advanced Android Wear ;)Slightly Advanced Android Wear ;)
Slightly Advanced Android Wear ;)
 
Android code puzzlers + tips & tricks
Android code puzzlers + tips & tricksAndroid code puzzlers + tips & tricks
Android code puzzlers + tips & tricks
 
3D Touch: Preparando sua app para o futuro do iOS
3D Touch: Preparando sua app para o futuro do iOS3D Touch: Preparando sua app para o futuro do iOS
3D Touch: Preparando sua app para o futuro do iOS
 
Google Fit, Android Wear & Xamarin
Google Fit, Android Wear & XamarinGoogle Fit, Android Wear & Xamarin
Google Fit, Android Wear & Xamarin
 

Similaire à navigation-uiライブラリは、既存のアプリを置き換える ことができないかもしれない

Android Best Practices
Android Best PracticesAndroid Best Practices
Android Best Practices
Yekmer Simsek
 

Similaire à navigation-uiライブラリは、既存のアプリを置き換える ことができないかもしれない (20)

A Single activity app with Jetpack's Navigation Component
A Single activity app with Jetpack's Navigation ComponentA Single activity app with Jetpack's Navigation Component
A Single activity app with Jetpack's Navigation Component
 
More android code puzzles
More android code puzzlesMore android code puzzles
More android code puzzles
 
The Google App Engine Oil Framework
The Google App Engine Oil FrameworkThe Google App Engine Oil Framework
The Google App Engine Oil Framework
 
Androidaop 170105090257
Androidaop 170105090257Androidaop 170105090257
Androidaop 170105090257
 
Android 3
Android 3Android 3
Android 3
 
Android Best Practices
Android Best PracticesAndroid Best Practices
Android Best Practices
 
Building an app with Google's new suites
Building an app with Google's new suitesBuilding an app with Google's new suites
Building an app with Google's new suites
 
Rambler.iOS #6: App delegate - разделяй и властвуй
Rambler.iOS #6: App delegate - разделяй и властвуйRambler.iOS #6: App delegate - разделяй и властвуй
Rambler.iOS #6: App delegate - разделяй и властвуй
 
Django deployment with PaaS
Django deployment with PaaSDjango deployment with PaaS
Django deployment with PaaS
 
React & The Art of Managing Complexity
React &  The Art of Managing ComplexityReact &  The Art of Managing Complexity
React & The Art of Managing Complexity
 
Design Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesDesign Patterns for Tablets and Smartphones
Design Patterns for Tablets and Smartphones
 
Android swedroid
Android swedroidAndroid swedroid
Android swedroid
 
SwiftUI and Combine All the Things
SwiftUI and Combine All the ThingsSwiftUI and Combine All the Things
SwiftUI and Combine All the Things
 
What's new in iOS9
What's new in iOS9What's new in iOS9
What's new in iOS9
 
The Mighty Power of the Accessibility Service - Guy Griv, Pepper
The Mighty Power of the Accessibility Service - Guy Griv, PepperThe Mighty Power of the Accessibility Service - Guy Griv, Pepper
The Mighty Power of the Accessibility Service - Guy Griv, Pepper
 
Android development with Scala and SBT
Android development with Scala and SBTAndroid development with Scala and SBT
Android development with Scala and SBT
 
What's New in Android
What's New in AndroidWhat's New in Android
What's New in Android
 
Android App Development - 05 Action bar
Android App Development - 05 Action barAndroid App Development - 05 Action bar
Android App Development - 05 Action bar
 
Adopting 3D Touch in your apps
Adopting 3D Touch in your appsAdopting 3D Touch in your apps
Adopting 3D Touch in your apps
 
Writing Maintainable JavaScript
Writing Maintainable JavaScriptWriting Maintainable JavaScript
Writing Maintainable JavaScript
 

Plus de Yasutaka Kawamoto (6)

2018 05-19 google-io2018_report
2018 05-19 google-io2018_report2018 05-19 google-io2018_report
2018 05-19 google-io2018_report
 
Introduce the activities of gdg kobe 130917
Introduce the activities of gdg kobe 130917Introduce the activities of gdg kobe 130917
Introduce the activities of gdg kobe 130917
 
Go言語によるwebアプリの作り方
Go言語によるwebアプリの作り方Go言語によるwebアプリの作り方
Go言語によるwebアプリの作り方
 
Go言語のスライスを理解しよう
Go言語のスライスを理解しようGo言語のスライスを理解しよう
Go言語のスライスを理解しよう
 
5分でわかるGoogle+API
5分でわかるGoogle+API5分でわかるGoogle+API
5分でわかるGoogle+API
 
Serviceについて
ServiceについてServiceについて
Serviceについて
 

Dernier

Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Cara Menggugurkan Kandungan 087776558899
 

Dernier (6)

Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
 
Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s Tools
 
Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and Layouts
 
Leading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdfLeading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdf
 
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
 
Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & Examples
 

navigation-uiライブラリは、既存のアプリを置き換える ことができないかもしれない

  • 2. Who are you? ▸ ( ) ▸ tech vein ( ) ▸ ▸ GitHub: kwmt twitter: kwmt27 ▸ Google I/O2018 2
  • 4. /18 ▸ Navigation Architecture Component ▸ 1.0.0-alpha01 ▸ Navigation Drawer BottomNavigation ▸ navigation-fragment 4 implementation 'android.arch.navigation:navigation-fragment:1.0.0-alpha01' implementation 'android.arch.navigation:navigation-ui:1.0.0-alpha01'
  • 5. /185 class MainActivity : AppCompatActivity() { private val binding: MainActivityBinding by lazy { DataBindingUtil.setContentView<MainActivityBinding>(this, R.layout.main_activity) } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setSupportActionBar(binding.toolbar) ActionBarDrawerToggle( this, binding.drawerLayout, binding.toolbar, R.string.openDrawerContentDescRes, R.string.closeDrawerContentDescRes ) .also { binding.drawerLayout.addDrawerListener(it) } .apply { isDrawerIndicatorEnabled = true isDrawerSlideAnimationEnabled = true syncState() } binding.navView.setNavigationItemSelectedListener { val f = when (it.itemId) { R.id.mainFragment -> MainFragment() R.id.repositoryListFragment -> RepositoryListFragment() else -> MainFragment() } val ft = supportFragmentManager.beginTransaction() ft.add(R.id.main_nav_host_fragment, f) ft.commitNow() binding.drawerLayout.closeDrawers() true } } }
  • 7. /187 class MainActivity : AppCompatActivity() { private val binding: MainActivityBinding by lazy { DataBindingUtil.setContentView<MainActivityBinding>(this, R.layout.main_activity) } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setSupportActionBar(binding.toolbar) findNavController(R.id.main_nav_host_fragment).apply { setupActionBarWithNavController(this, binding.drawerLayout) binding.navView.setupWithNavController(this) } } override fun onSupportNavigateUp(): Boolean = binding.drawerLayout.navigateUp(findNavController(R.id.main_nav_host_fragment)) }
  • 10. /1810
  • 12. /1812
  • 13. /1813
  • 14. /1814
  • 16. /1816
  • 17. /18 ▸ b.androd.com issue ▸ won’t fix ▸ ▸ navigation-ui alpha 17
  • 18. /18 ▸ 6/14 Osaka Mix Leap Study #16 - Android JetPack ▸ https://yahoo-osaka.connpass.com/event/89865/ ▸ 6/15 Dev #2 WWDC & Google IO ▸ https://kyoto-dev-cafe.connpass.com/event/89875/ 18