2016-07-15 9 views
1

Ich möchte das Hamburger-Menü und die Tabs unten verwenden. Eigentlich verwende ich das CoordinatorLayout für das Hamburgermenü und das AppbarLayout (mit einer Symbolleiste und dem Tablayout) für die Tabs. Beide Teile funktionieren - aber wenn ich sie kombiniere, kann ich den Hamburgerknopf nicht sehen - aber das Menü ist da, ich kann es wischen (die Leiste ist auch dort, aber ohne den Knopf und den Aktivitätstitel).Hamburger-Menü-Taste fehlt bei der Verwendung von Tabs?

das ist meine Haupt xml-Datei

<include 
    layout="@layout/app_bar_hamburger" /> 

<include 
    layout="@layout/app_bar_tabs"/> 

<android.support.design.widget.NavigationView 
    android:id="@+id/nav_view" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:fitsSystemWindows="true" 
    app:headerLayout="@layout/nav_header_hamburger" 
    app:menu="@menu/activity_hamburger_drawer" /> 

</android.support.v4.widget.DrawerLayout> 

die app_bar_hamburger:

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar_hamburger" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay" /> 

</android.support.design.widget.AppBarLayout> 

<include layout="@layout/content_hamburger" /> 

und die app_bar_tabs

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar_tabs" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tabs" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:tabMode="fixed" 
     app:tabGravity="fill"/> 
</android.support.design.widget.AppBarLayout> 

<android.support.v4.view.ViewPager 
    android:id="@+id/viewpager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

Antwort

1

Try this:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); // use whatever id you have for your toolbar 
setSupportActionBar(toolbar); 

getSupportActionBar().setHomeButtonEnabled(true); 
getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_drawer); 
getSupportActionBar().setTitle("title"); 

EDIT: Das Problem geschieht, weil Sie mehr AppBarLayout und Toolbar im gleichen Layout. Fügen Sie layout="@layout/app_bar_hamburger" nicht in Ihre main.xml ein. Verwenden Sie nur `layout =" @ layout/app_bar_tabs ". Und alles sollte gut funktionieren.

+0

danke für deine antwort - ich habe das problem jetzt gefunden (aber eigentlich keine lösung). Ich habe zwei Symbolleisten, die Symbolleiste mit dem Titel und die Schaltfläche und die Symbolleiste für die Registerkarten - die Burger-Symbolleiste befindet sich hinter der Symbolleiste Ich werde einige Einstellungen versuchen, ich hoffe, es wird funktionieren :) – Mel

+0

Das sollte nicht geschehen. Das TabLayout sollte unter der Symbolleiste mit dem Titel und der Schaltfläche sein. Teilen Sie etwas Code und ich sollte Ihnen helfen können, es herauszufinden. –

+0

Ich habe den Code zur Frage hinzugefügt – Mel

Verwandte Themen