-1

In Android-App, ich möchte Navigationsschublade in all meinen Layouts verwenden, kann ich nicht alle meine Fragmente verwenden und ändern sie nur in 1 Aktivität. Also, wie sollte ich die Navigationsschublade in all meinen Aktivitäten implementieren?Verwenden Sie die Navigationsleiste in allen meinen Layouts

+1

haben Sie alles versucht/oder was ist Ihr genaues Problem? –

+0

Ja, ich habe eine übergeordnete Aktivität der Navigationsleiste erstellt und diese auf alle anderen Aktivitäten ausgedehnt und die XML-Hauptlade in alle anderen Aktivitäten einbezogen. Es funktioniert gut, aber ich muss das Layout anderer Aktivitäten beim Öffnen der Navigationsleiste unsichtbar machen. –

Antwort

0

Ja Sie können die Schublade in allen Ihren Bildschirmen verwenden. Verwenden Sie eine Aktivität und fügen Sie Fragmente hinzu oder ersetzen Sie diese, die im/at Content-Layout benötigt werden.

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/layout_drawer" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<FrameLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <!-- Content layout --> 
    <FrameLayout 
     android:id="@+id/layout_frame_content" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

    </FrameLayout> 
    <!-- Toolbar layout --> 
    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/action_bar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:gravity="center_vertical" 
      android:minHeight="?attr/actionBarSize" 
      android:theme="@style/search_theme" /> 
     <View 
      android:layout_width="match_parent" 
      android:layout_height="8dp" 
      android:layout_below="@id/action_bar" 
      android:background="@drawable/dropshadow" /> 
    </RelativeLayout> 

</FrameLayout> 
<!-- Drawer menu item layout --> 
<include layout="@layout/layout_drawer" /> 
</android.support.v4.widget.DrawerLayout> 
+0

Das ist das Problem, nur 1 Aktivität machen kann App unruhiger zu entwickeln. und es ist in Ordnung, wenn wir 4,5 Aktivitäten haben, aber oft werden wir benötigt, um mehr Aktivitäten zu machen, in diesem Fall, was sollen wir tun? –

0

das nicht möglich ist, aber sie Tätigkeit der

in Ihrem Code verwenden können:

 @Override 
     public boolean onNavigationItemSelected(MenuItem item) { 
      // Handle navigation view item clicks here. 
      int id = item.getItemId(); 

      if (id == R.id.nav_search) { 

       // Handle the search action 
      } else if (id == R.id.nav_home) 
    { 
       //handle the home option 
       Intent homeIntent=new Intent(getApplicationContext(),Home.class); 
       startActivity(homeIntent); 
    } 
0

Haben Sie eine einzelne Aktivität Eltern .. und haben eine Schublade drin ... und für den Rest der Aktivitäten haben Fragmente ... dieser Ansatz wird Sie Navigation Schublade in allen Bildschirmen Ihrer App haben

+0

bedeutet, wenn ich n Aktivitäten erstellen, sollte ich den Inhalt in Fragmenten und nicht in Content_main oder Aktivität Haupt definieren? –

+0

Haben Sie eine einzelne Klasse, die Aktivität erweitert und für alle anderen Bildschirme können Sie Klasse haben, die Fragmente erweitert ... Dann können Sie einen Fragment-Manager haben und Fragment-Transaktionen in Ihrer Klasse, die Aktivität erweitert .... – Moulesh

+0

Auch können Sie lesen über Fragment-Manager, Fragment-Transaktionen, um die Implementierung zu bekommen ... Da Sie Schublade in Ihrer Aktivität haben werden alle Ihre Fruggents (alle anderen Bildschirme) auch Schublade haben – Moulesh