2017-11-25 3 views
0

wie bei allen Aktivitäten meiner Navigationsleiste zeigtAndroid Nav Schublade in allen Aktivitäten

Nachdem Sie ein neues Projekt in dem Android-Studio zu schaffen und hat eine Aktivität Navigationsleiste ich es laufen und es nicht zeigen in allen meinen Aktivitäten. (Ich habe keinen Code hinzugefügt, erstellen Sie einfach Aktivität und führen Sie es aus). Ich möchte wissen, wie man die Navigation Schublade in allen Aktivitäten zeigt, gibt es eine Möglichkeit?

+0

In Navigation Drawer Aktivität Seite Verwenden Sie ein Fragment – Raj

+0

hier folgen, können Sie dies erfolgreich umzusetzen [https://stackoverflow.com/questions/19451715/ same-navigation-drawer-in-different-activities] (https://stackoverflow.com/questions/19451715/same-navigation-drawer-in-different-activities) – Shambhu

Antwort

0

Sie können die Navigationsleiste mit einer Aktivität verknüpfen. Die Navigationsleiste wird nur in der Aktivität angezeigt, in der Sie erstellt haben. Wenn Sie die Navigationsleiste in allen Anwendungen anzeigen möchten, können Sie ein Rahmenlayout hinzufügen und dort Fragmente für die Anwendungsfunktionalität hinzufügen. Diese App wird eine einzelne Aktivität mit mehreren Fragmenten sein.

Folgendes ist Code zum Hinzufügen von Fragment. :

Fragment fragment = new PlanetFragment(); 
    Bundle args = new Bundle(); 
    args.putInt(PlanetFragment.ARG_PLANET_NUMBER, position); 
    fragment.setArguments(args); 
// Insert the fragment by replacing any existing fragment 
FragmentManager fragmentManager = getFragmentManager(); 
fragmentManager.beginTransaction() 
       .replace(R.id.content_frame, fragment) 
       .commit(); 

Für weitere Details: Überprüfen Sie diesen Link. https://developer.android.com/training/implementing-navigation/nav-drawer.html

EDIT

Ohne Fragment

können Sie erstellen ein BaseActivity, werden alle activityBaseActivity erweitert werden. Sie müssen Ihre navigation drawer mit BaseActivity binden. Auf diese Weise können Sie erreichen, was Sie wollen.

BaseActivity.Java

public class BaseActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    DrawerLayout fullView = (DrawerLayout) 
    getLayoutInflater().inflate(R.layout.activity_base, null); 
    FrameLayout activityContainer = (FrameLayout) 
    fullView.findViewById(R.id.activity_content); 
    getLayoutInflater().inflate(layoutResID, activityContainer, true); 
    super.setContentView(fullView); 


} 

}

+0

Bitte sagen Sie mir ohne die Verwendung von Fragmenten –

+0

überprüfen Sie die aktualisierte Antwort –

+0

pls Erzähle mir ausführlich –

Verwandte Themen