Toolbar -Navigation Symbol nie unter

? grunk @ | Original: StackOverFlow
---

Ich versuche die neue Toolbar -Komponente und einige Probleme mit dem Navigationssymbol . Ich möchte ein benutzerdefiniertes Symbol für die Navigation zurück zu implementieren:

In meinem Manifest ich ein Elternteil, meine Tätigkeit :

<activity android:name=".CardsActivity" android:parentActivityName=".MainActivity">
    <!-- Parent activity meta-data to support API level 7+ -->
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".MainActivity" />
</activity>

Ich erkläre die Symbolleiste wie folgt aus:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.example.lollitest.MainActivity" >

    <android.support.v7.widget.Toolbar
        android:id="@+id/my_awesome_toolbar"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:minHeight="?attr/actionBarSize"
        android:layout_marginBottom="10dp"
        android:background="?attr/colorPrimary" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/my_awesome_toolbar"
        android:text="@string/hello_world" />

</RelativeLayout>

Dann in meiner Tätigkeit i konfigurieren Sie die Symbolleiste wie folgt aus:

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setNavigationIcon(R.drawable.ic_good);
toolbar.setTitle("Title");
toolbar.setSubtitle("Sub");
toolbar.setLogo(R.drawable.ic_launcher);
setSupportActionBar(toolbar);

Was er mir :  Toolbar -Navigation Symbol nie unter

Die Rückseite Symbol nicht die, die ich mit auf setNavigationIcon() ! Was auch immer drawable ich gebe der Methode der Navigation Symbol ist immer dann die Zurück-Taste .

Ich habe versucht, den Dachverband im Manifest zu entfernen, aber der einzige Effekt ist (natürlich) auf die Taste, um zurück zu gehen zu vermeiden.

Auf Gegenteil, wenn ich will, das Standard- Zurück-Pfeil -Symbol und nicht als setNavigationIcon() Ich glaube nicht, ein beliebiges Symbol überhaupt.

Was ist der richtige Weg, um die Navigation -Symbol in der Symbolleiste ( Sitte und Standard) zu behandeln?

Hinweis: Ich bin mit meinem Test auf Android 4.4

---

Top 5 Antwort

1Gabriele Mariotti @

Zur Zeit können Sie es verwenden, Ändern der Reihenfolge : ( es scheint ein Fehler zu sein )

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);

toolbar.setNavigationIcon(R.drawable.ic_good);
toolbar.setTitle("Title");
toolbar.setSubtitle("Sub");
toolbar.setLogo(R.drawable.ic_launcher);
2user802421 @

Ich glaube, Sie müssen auch die ActionBarDrawerToggle Staat mit der DrawerLayout synchronisieren.

// Taken from Android Studio generated NavDrawerFragment.setUp() method
mDrawerLayout.post(new Runnable() {
    @Override
    public void run() {
        mDrawerToggle.syncState();
    }
});

Ich brauche die oben zu laufen Runnable, wenn ich mich verstecken und reshow den Kippschalter mit getActionBar().setDisplayHomeAsUpEnabled(true / false); .

3Alexey Korolev @

( Die Antwort auf user802421 )

private void setToolbar() {
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    if (toolbar != null) {
        setSupportActionBar(toolbar);
        toolbar.setNavigationIcon(R.drawable.ic_action_back);
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onBackPressed();
            }
        });
    }
}

toolbar.xml

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="@dimen/toolbar_height"
    android:background="?attr/colorPrimaryDark" />