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?
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?
Antworten:
Verwenden
this.getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_action_close);
um das zu erreichen.
Sie können Ihr eigenes Schließsymbol erstellen oder das auf GitHub festgelegte Symbol für das Materialdesign verwenden . Fügen Sie diese Zeile auch vor der obigen Zeile hinzu, damit die Schließfunktion als Rückpfeil fungiert.
this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
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;
}
onSupportNavigateUp()
? Die Dokumentation sagt, es ist nur eine Erfolgsflagge
Entschuldige 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"
@drawable/ic_close_black_24dp
das?
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);
}
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>