Ich habe in Googles Posteingangs-App gesehen, dass beim Erstellen einer neuen E-Mail in der Symbolleiste anstelle der Schaltfläche "Zurück" (Pfeil) eine Schaltfläche "Schließen" angezeigt wird (siehe Bild).
Wie kann ich das erreichen?
android
android-actionbar
material-design
Marta Rodriguez
quelle
quelle
Sie müssen ein übergeordnetes Element im Manifest definieren und dann onSupportNavigationUp () überschreiben, wenn Sie natürlich die Support-App-Leiste verwenden. Auf dieser praktischen Website finden Sie auch die Symbolpakete: 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; }
quelle
onSupportNavigateUp()
? Die Dokumentation sagt, es ist nur eine ErfolgsflaggeEntschuldige die späte Antwort. Ich habe die einfachste Lösung für Sie gefunden . hier funktioniert vor allem die antwort bei mir nicht (
because i want to use toolbar not actionBar due to theming
). Versuchen Sie also, die Schaltfläche zum Schließen über das XML-Layout hinzuzufügen. und es funktioniert.Hier ist eine XML-Syntax zum Hinzufügen der Schaltfläche zum Schließen zur Symbolleiste (Version 7).
app:navigationIcon="@drawable/ic_close_black_24dp"
ans hier ist ein ausgegebenes Bild
quelle
@drawable/ic_close_black_24dp
das?Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setTitle("Search"); toolbar.setNavigationIcon(R.drawable.abc_ic_clear_mtrl_alpha); setSupportActionBar(toolbar);
quelle
Eine Alternative zum Definieren der übergeordneten Aktivität im Manifest besteht darin, die in der onOptionsItemSelected-Methode auszuführende Aktion wie in diesem Beispiel zu behandeln:
@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); }
quelle
Sie können einen Stil definieren:
<style name="Theme.Toolbar.Clear"> <item name="toolbarNavigationIcon">@drawable/abc_ic_clear_mtrl_alpha</item> </style>
und verwenden Sie es in Ihrem Thema:
<style name="Theme.Clear"> <item name="toolbarTheme">@style/Theme.Toolbar.Clear</item> </style>
quelle