He visto en la aplicación Inbox de Google, redactando un nuevo correo electrónico, en la barra de herramientas en lugar del botón de retroceso (una flecha) tiene un botón de "cerrar" (ver imagen).
¿Cómo puedo conseguir esto?
android
android-actionbar
material-design
Marta Rodríguez
fuente
fuente
Necesita definir un padre en el manifiesto, luego anular onSupportNavigationUp () si usa la barra de la aplicación de soporte, por supuesto. Además, vaya a este sitio útil para los paquetes de iconos: https://www.google.com/design/icons/
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.yourAwesomeLayout); setupToolBar(); } private void setupToolBar() { Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); if (toolbar == null) return; setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_close_white_24dp); } @Override public boolean onSupportNavigateUp() { finish(); // close this activity as oppose to navigating up return false; }
fuente
onSupportNavigateUp()
? La documentación dice que es solo una bandera de éxitolo siento por la respuesta tardía. Encontré la solución más fácil para ti . aquí sobre todo la respuesta no me funciona (
because i want to use toolbar not actionBar due to theming
). así que intente agregar el botón de cierre a través del diseño xml. y funciona.aquí hay una sintaxis xml para agregar un botón de cierre a la barra de herramientas (v7).
app:navigationIcon="@drawable/ic_close_black_24dp"
ans aquí hay una imagen de salida
fuente
@drawable/ic_close_black_24dp
vieneToolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setTitle("Search"); toolbar.setNavigationIcon(R.drawable.abc_ic_clear_mtrl_alpha); setSupportActionBar(toolbar);
fuente
Una alternativa para definir la actividad principal en el manifiesto es manejar qué acción tomar en el método onOptionsItemSelected como en este ejemplo:
@Override public boolean onOptionsItemSelected(MenuItem item){ switch (item.getItemId()) { // Respond to the action bar's Up/Home/back button case android.R.id.home: finish(); break; } return super.onOptionsItemSelected(item); }
fuente
Puedes definir un estilo:
<style name="Theme.Toolbar.Clear"> <item name="toolbarNavigationIcon">@drawable/abc_ic_clear_mtrl_alpha</item> </style>
y utilícelo en su tema:
<style name="Theme.Clear"> <item name="toolbarTheme">@style/Theme.Toolbar.Clear</item> </style>
fuente