SlideShare a Scribd company logo
1 of 38
Download to read offline
Android Design Support Library
Ibnu Sina Wardy
Google Dev Expert: Android
About	
  Me	
  
Ibnu Sina Wardy
Google Developer Expert, Android
CEO of PT GITS Indonesia (gits.co.id)
Ibnu Sina Wardy
Google Developer Expert, Android
CEO of PT GITS Indonesia
Floating Action Button
Text Input Layout
Snackbar
Tab
Progress: 1%
Coordinator Layout
Navigation View
Floating Action Button
Floating Action Button
Floating Action Button
Floating action button redlines Mini floating action button redlines
Floa,ng	
  Ac,on	
  Bu1on	
  
•  Round button for a primary action on your interface
•  The color of this button is set in colorAccent from
your theme.
Floating Label
Floating Label
Hint Problem
Floating Label
When the user engages with the text input
field,
the floating inline labels move to float
above the field.
Floating Label
TextInputLayout
Snackbar
Snackbar
Providing lightweight, quick feedback about an operation
Snackbars are shown on the bottom of the screen and contain text
with an optional single action
Users can swipe them away before the timeout
They automatically time out after the given time length by
animating off the screen.
Snackbar
Snackbar
Tabs
Tabs
•  Implements both fixed tabs as well as
scrollable tabs
•  Tabs can be added programmatically.
Tabs
Tab Layout
Coordinator Layout
Coordinator Layout
provides additional level of control
over touch events between child
views.
CoordinatorLayout with FloatingActionButton & Snackbar
•  CoordinatorLayout resolve the issue of snackbar
displaying over the FloatingActionButton.
•  FloatingActionButton automatically moves upward
as the snackbar animates in and returns to its
position when the snackbar hides.
•  CoordinatorLayout enables user to swipe snackbar
away before the timeout.
CoordinatorLayout with FloatingActionButton & Snackbar
CoordinatorLayout with AppBarLayout
•  AppBarLayout allows your Toolbar and other views (such
as tabs provided by TabLayout) to react to scroll events in
a sibling view.
•  the AppBarLayout can respond to those events by using
the children’s scroll flags.
•  Toolbar reacts to scroll events in a sibling view
app:layout_scrollFlags="scroll|enterAlways"
•  TabLayout remains pinned to the top of the screen while
Toolbar view collapses.
•  includes a layout with CardView views
<android.support.design.widget.CoordinatorLayout	
  
android:layout_height="match_parent"	
  
	
  	
  	
  	
  android:layout_width="match_parent">	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  
	
  	
  	
  	
  <android.support.design.widget.AppBarLayout	
  
android:layout_width="match_parent"	
  
	
  	
  	
  	
  	
  	
  	
  	
  android:layout_height="wrap_content”>	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  <android.support.v7.widget.Toolbar	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  android:layout_width="match_parent"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  android:layout_height="?a1r/ac,onBarSize"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  android:background="?a1r/colorPrimary"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  app:layout_scrollFlags="scroll|enterAlways"/>	
  
	
  	
  	
  	
  	
  
	
  	
  	
  	
  </android.support.design.widget.AppBarLayout>	
  
	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  <!-­‐-­‐	
  Your	
  Scrollable	
  View	
  -­‐-­‐>	
  
	
  	
  	
  	
  ………………	
  
	
  	
  	
  	
  	
  
	
  	
  	
  	
  <android.support.design.widget.Floa,ngAc,onBu1on	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  android:layout_width="wrap_content"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  android:layout_height="wrap_content"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  android:src="@drawable/ic_ac,on_loca,on_found"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  android:layout_marginBo1om="20dp"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  android:layout_marginRight="20dp"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  android:layout_gravity="bo1om|right"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  app:fabSize="normal"	
  />	
  
	
  	
  	
  	
  	
  
</android.support.design.widget.CoordinatorLayout>	
  
CoordinatorLayout with FloatingActionButton &
Snackbar
CoordinatorLayout with AppBarLayout & TabLayout
CoordinatorLayout with AppBarLayout & TabLayout
CollapsingToolbarLayout
•  CollapsingToolbarLayout to ensure that
the Toolbar itself remains pinned to the
top of the screen while the view collapses.
•  Toolbar title will automatically appear
larger when the layout is fully visible, then
transition to its default size as it is
collapsed.
CollapsingToolbarLayout
CollapsingToolbarLayout
Navigation View
Navigation View
•  NavigationView makes adding navigation drawer to your app easier
than before.
•  You can inflate your navigation items through a menu resource.
•  NavigationView should go inside DrawerLayout.
•  app:headerLayout attribute controls the (optional) layout used for the
header.
•  app:menu attribute is the menu resource for the navigation items
(which can also be updated at runtime).
Navigation View
Navigation View
References
•  Google Design http://www.google.com/design/
•  Android Developers Blog
http://android-developers.blogspot.com/
2015/05/android-design-support-library.html
•  HMKCode
http://hmkcode.com/material-design-app-
android-design-support-library-appcompat/
Topic: Android Design Support Library
Ibnu Sina Wardy
Google Dev Expert (ID): Android
ibnu.wardy@gmail.com
Terima Kasih.

More Related Content

What's hot

What's hot (20)

01 09 - graphical user interface - basic widgets
01  09 - graphical user interface - basic widgets01  09 - graphical user interface - basic widgets
01 09 - graphical user interface - basic widgets
 
Chapter 10 - Views Part 2
Chapter 10 - Views Part 2Chapter 10 - Views Part 2
Chapter 10 - Views Part 2
 
Hierarchy viewer
Hierarchy viewerHierarchy viewer
Hierarchy viewer
 
01 08 - graphical user interface - layouts
01  08 - graphical user interface - layouts01  08 - graphical user interface - layouts
01 08 - graphical user interface - layouts
 
12. Android Basic Google Map
12. Android Basic Google Map12. Android Basic Google Map
12. Android Basic Google Map
 
Advance Android application development workshop day 2
Advance Android application development workshop day 2Advance Android application development workshop day 2
Advance Android application development workshop day 2
 
Android layouts
Android layoutsAndroid layouts
Android layouts
 
Basic Android Layout
Basic Android LayoutBasic Android Layout
Basic Android Layout
 
2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web app
 
Desenvolver para Chromecast
Desenvolver para ChromecastDesenvolver para Chromecast
Desenvolver para Chromecast
 
Android Layout
Android LayoutAndroid Layout
Android Layout
 
Android Widget
Android WidgetAndroid Widget
Android Widget
 
Android best practices
Android best practicesAndroid best practices
Android best practices
 
Google Maps in Android
Google Maps in AndroidGoogle Maps in Android
Google Maps in Android
 
4.preference management
4.preference management 4.preference management
4.preference management
 
10 asp.net session14
10 asp.net session1410 asp.net session14
10 asp.net session14
 
Activity
ActivityActivity
Activity
 
04 user interfaces
04 user interfaces04 user interfaces
04 user interfaces
 
Designing and implementing_android_uis_for_phones_and_tablets
Designing and implementing_android_uis_for_phones_and_tabletsDesigning and implementing_android_uis_for_phones_and_tablets
Designing and implementing_android_uis_for_phones_and_tablets
 
Android development session 3 - layout
Android development   session 3 - layoutAndroid development   session 3 - layout
Android development session 3 - layout
 

Similar to Android Design Support Library

android layouts
android layoutsandroid layouts
android layouts
Deepa Rani
 
Android Erası 2 - UI və layoutlar
Android Erası 2 - UI və layoutlarAndroid Erası 2 - UI və layoutlar
Android Erası 2 - UI və layoutlar
Orkhan Ahmadov
 

Similar to Android Design Support Library (20)

EIA 2015 Creating Apps with Android Material Design
EIA 2015 Creating Apps with Android Material DesignEIA 2015 Creating Apps with Android Material Design
EIA 2015 Creating Apps with Android Material Design
 
Migrating a large scale banking app to compose
Migrating a large scale banking app to composeMigrating a large scale banking app to compose
Migrating a large scale banking app to compose
 
User experience and interactions design
User experience and interactions design User experience and interactions design
User experience and interactions design
 
06 UI Layout
06 UI Layout06 UI Layout
06 UI Layout
 
Prototyping + User Journeys
Prototyping + User JourneysPrototyping + User Journeys
Prototyping + User Journeys
 
Application Development - Overview on Android OS
Application Development - Overview on Android OSApplication Development - Overview on Android OS
Application Development - Overview on Android OS
 
Getting Started With Material Design
Getting Started With Material DesignGetting Started With Material Design
Getting Started With Material Design
 
android layouts
android layoutsandroid layouts
android layouts
 
Lecture 5 _ Building Layouts (1).pptx
Lecture 5 _ Building Layouts (1).pptxLecture 5 _ Building Layouts (1).pptx
Lecture 5 _ Building Layouts (1).pptx
 
Android JetPack: easy navigation with the new Navigation Controller
Android JetPack: easy navigation with the new Navigation ControllerAndroid JetPack: easy navigation with the new Navigation Controller
Android JetPack: easy navigation with the new Navigation Controller
 
Ui 5
Ui   5Ui   5
Ui 5
 
Android ActionBar Navigation reloaded
Android ActionBar Navigation reloadedAndroid ActionBar Navigation reloaded
Android ActionBar Navigation reloaded
 
03.Controls in Windows Phone
03.Controls in Windows Phone03.Controls in Windows Phone
03.Controls in Windows Phone
 
Android ui patterns
Android ui patternsAndroid ui patterns
Android ui patterns
 
Android ui patterns
Android ui patternsAndroid ui patterns
Android ui patterns
 
Fragments: Why, How, What For?
Fragments: Why, How, What For?Fragments: Why, How, What For?
Fragments: Why, How, What For?
 
Make your app dance with MotionLayout
Make your app dance with MotionLayoutMake your app dance with MotionLayout
Make your app dance with MotionLayout
 
Android Erası 2 - UI və layoutlar
Android Erası 2 - UI və layoutlarAndroid Erası 2 - UI və layoutlar
Android Erası 2 - UI və layoutlar
 
Android programming basics
Android programming basicsAndroid programming basics
Android programming basics
 
WMP_MP02_revd(10092023).pptx
WMP_MP02_revd(10092023).pptxWMP_MP02_revd(10092023).pptx
WMP_MP02_revd(10092023).pptx
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 

Android Design Support Library

  • 1. Android Design Support Library Ibnu Sina Wardy Google Dev Expert: Android
  • 2. About  Me   Ibnu Sina Wardy Google Developer Expert, Android CEO of PT GITS Indonesia (gits.co.id)
  • 3. Ibnu Sina Wardy Google Developer Expert, Android CEO of PT GITS Indonesia Floating Action Button Text Input Layout Snackbar Tab Progress: 1% Coordinator Layout Navigation View
  • 6. Floating Action Button Floating action button redlines Mini floating action button redlines
  • 7. Floa,ng  Ac,on  Bu1on   •  Round button for a primary action on your interface •  The color of this button is set in colorAccent from your theme.
  • 10. Floating Label When the user engages with the text input field, the floating inline labels move to float above the field.
  • 14. Snackbar Providing lightweight, quick feedback about an operation Snackbars are shown on the bottom of the screen and contain text with an optional single action Users can swipe them away before the timeout They automatically time out after the given time length by animating off the screen.
  • 17. Tabs
  • 18. Tabs •  Implements both fixed tabs as well as scrollable tabs •  Tabs can be added programmatically.
  • 19. Tabs
  • 22. Coordinator Layout provides additional level of control over touch events between child views.
  • 23. CoordinatorLayout with FloatingActionButton & Snackbar •  CoordinatorLayout resolve the issue of snackbar displaying over the FloatingActionButton. •  FloatingActionButton automatically moves upward as the snackbar animates in and returns to its position when the snackbar hides. •  CoordinatorLayout enables user to swipe snackbar away before the timeout.
  • 25. CoordinatorLayout with AppBarLayout •  AppBarLayout allows your Toolbar and other views (such as tabs provided by TabLayout) to react to scroll events in a sibling view. •  the AppBarLayout can respond to those events by using the children’s scroll flags. •  Toolbar reacts to scroll events in a sibling view app:layout_scrollFlags="scroll|enterAlways" •  TabLayout remains pinned to the top of the screen while Toolbar view collapses. •  includes a layout with CardView views
  • 26. <android.support.design.widget.CoordinatorLayout   android:layout_height="match_parent"          android:layout_width="match_parent">                                      <android.support.design.widget.AppBarLayout   android:layout_width="match_parent"                  android:layout_height="wrap_content”>                                        <android.support.v7.widget.Toolbar                        android:layout_width="match_parent"                          android:layout_height="?a1r/ac,onBarSize"                          android:background="?a1r/colorPrimary"                          app:layout_scrollFlags="scroll|enterAlways"/>                    </android.support.design.widget.AppBarLayout>                      <!-­‐-­‐  Your  Scrollable  View  -­‐-­‐>          ………………                    <android.support.design.widget.Floa,ngAc,onBu1on                          android:layout_width="wrap_content"                          android:layout_height="wrap_content"                          android:src="@drawable/ic_ac,on_loca,on_found"                          android:layout_marginBo1om="20dp"                          android:layout_marginRight="20dp"                          android:layout_gravity="bo1om|right"                          app:fabSize="normal"  />             </android.support.design.widget.CoordinatorLayout>   CoordinatorLayout with FloatingActionButton & Snackbar
  • 29. CollapsingToolbarLayout •  CollapsingToolbarLayout to ensure that the Toolbar itself remains pinned to the top of the screen while the view collapses. •  Toolbar title will automatically appear larger when the layout is fully visible, then transition to its default size as it is collapsed.
  • 33. Navigation View •  NavigationView makes adding navigation drawer to your app easier than before. •  You can inflate your navigation items through a menu resource. •  NavigationView should go inside DrawerLayout. •  app:headerLayout attribute controls the (optional) layout used for the header. •  app:menu attribute is the menu resource for the navigation items (which can also be updated at runtime).
  • 36.
  • 37. References •  Google Design http://www.google.com/design/ •  Android Developers Blog http://android-developers.blogspot.com/ 2015/05/android-design-support-library.html •  HMKCode http://hmkcode.com/material-design-app- android-design-support-library-appcompat/
  • 38. Topic: Android Design Support Library Ibnu Sina Wardy Google Dev Expert (ID): Android ibnu.wardy@gmail.com Terima Kasih.