2017-06-29 4 views
0

Die Aktivität besteht aus einer unteren Navigationsleiste und einem Fragment. Das Fragment enthält eine Navigationsleiste, die über der unteren Navigationsleiste sichtbar sein soll.Wie wird die Navigationsleiste über der unteren Navigationsleiste hinzugefügt, wenn die Navigationsleiste in einem Fragment verwendet wird?

Was ich habe, ist dies:

Was ich erreichen will, ist dies

Mein Fragment Layout-

Mein Aktivitäts-

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
android:id="@+id/activity_main" 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.example.harshitaneja.homie.MainActivity"> 
<FrameLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_above="@+id/navigation_main" 
    android:animateLayoutChanges="true" 
    android:id="@+id/frame_layout"> 
</FrameLayout> 
<android.support.design.widget.BottomNavigationView 
    android:id="@+id/navigation_main" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:background="@color/colorPrimary" 
    app:itemIconTint="@color/nav_item_state_list" 
    app:itemTextColor="@color/nav_item_state_list" 
    app:menu="@menu/bottom_navigation_items"> 

</android.support.design.widget.BottomNavigationView> 
</RelativeLayout> 

Es tut mir leid, wenn ich einen Fehler gemacht haben, während diese Frage, da dies hier meine erste Frage ist. Danke

+0

Zeigen Sie Ihr Layout XML-Code – Sony

+0

@Sony hinzugefügt, um die Layouts – Harshit

Antwort

1

Verschieben Sie Ihre android.support.design.widget.BottomNavigationView in Ihre content_main. so dass Ihre Aktivität die Schublade und die bottomNavigationView wie dies

<DrawerLayout> 
    <CoordintorLayout> 
     <AppBarLayout> 
     </AppBarLayout> 
     <LinearLayout 
      android:orientation="vertical"> 

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

      <android.support.design.widget.BottomNavigationView 
       android:id="@+id/navigation_main" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_alignParentBottom="true" 
       android:background="@color/colorPrimary" 
       app:itemIconTint="@color/nav_item_state_list" 
       app:itemTextColor="@color/nav_item_state_list" 
       app:menu="@menu/bottom_navigation_items"> 

     </LinearLayout> 
    </CooorDinatorLayout> 
</DrawerLayout> 
+0

ich daran gedacht enthält nur eine Ansichtsgruppe und das Fragment enthält. Aber es würde erfordern, die untere Navigationsleiste in jedem Fragment hinzuzufügen. Und wenn sich die Navigationsleiste ändert, müsste sie in allen Fragmenten geändert werden. Gibt es keine sauberere Lösung? – Harshit

+0

Sie können ein zusätzliches Layout für Ihre Navigation erstellen und dann einfügen, wo immer Sie möchten, genauso wie Sie den Hauptinhalt hinzufügen und benutzerdefinierte Navigation hinzufügen, wenn es eine Änderung gibt – Sony

+0

Ich habe es versucht. Aber weil es beim Ändern der Fragmente alles neu zeichnete, sah es weniger flüssig aus. Also ging ich in die andere Richtung und fügte der Hauptaktivität die Navigationsschublade hinzu und manipuliere sie nun durch die Fragmente. Trotzdem vielen Dank für Ihre Hilfe. – Harshit

Verwandte Themen