+ - 0:00:00
Notes for current slide
Notes for next slide

Navigation

Mateu Yábar

1 / 15

Appbar Top

Appbar Top

2 / 15

AppBar Bottom

AppBar Bottom

3 / 15

Menu

Menu

4 / 15

Navigation Drawer

Navigation Drawer

5 / 15

Bottom Navigation

Bottom Navigation

6 / 15

Tabs

Tabs

7 / 15

Menu - xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_settings"
android:title="@string/action_settings"
app:showAsAction="never" />
<item
android:id="@+id/action_send"
android:title="@string/menu_send"
android:icon="@drawable/ic_menu_send"
app:showAsAction="ifRoom" />
</menu>
8 / 15

Menú - java

Afegir el menú a un Fragment

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_calls_fragment, menu);
super.onCreateOptionsMenu(menu, inflater);
}
9 / 15

Menú

Control del clic

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.action_settings:
// Do something
return true;
case R.id.action_send:
// Do something
return true;
default:
return super.onOptionsItemSelected(item);
}
}
10 / 15

Menu

Control clic amb navigation.

  • id menu item == id fragment al navigation
@Override
public boolean onOptionsItemSelected(MenuItem item) {
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
return NavigationUI.onNavDestinationSelected(item, navController)
|| super.onOptionsItemSelected(item);
}
11 / 15

Navigation Drawer

  • Tenim un template
    • Crear Activity amb Navigation Drawer
      • Floating button
      • 6 fragments
      • Menú
12 / 15

Navigation Drawer template

  • layout
    • activity: drawer(menu + header) i AppBar
    • Nav Header: Header del drawer
    • AppBar: Toolbar + floatingButton + content
    • content: fragment amb nav_graph
13 / 15

Navigation Drawer template

  • menu
    • drawer: items del drawer
    • menu: items del appBar
  • nav_graph
14 / 15

Navigation Drawer template - java

  • 6 fragments amb viewModel
  • Activity
15 / 15

Appbar Top

Appbar Top

2 / 15
Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow