2016-05-14 12 views
1

Ich möchte einfache CoordinatorLayout mit RecyclerView und Toolbar erstellen, aber der Unterschied zur Standardlösung ist, dass Toolbar sollte am unteren Rand sein, und sollte verschwinden, wenn RecyclerView nach unten scrollt. SoSymbolleiste am unteren Rand in CoordinatorLayout

Ich habe einfaches Layout:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    android:id="@+id/main_content" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar_bottom" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"/> 

    <android.support.v7.widget.RecyclerView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/recycler_view"/> 

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

Natürlich Toolbar auf der Oberseite ist stattdessen an der Unterseite. Wie kann ich das beheben?

Antwort

3

Wow, das ist eine coole Idee, nicht sicher, dass, aber man könnte versuchen, diese

<android.support.design.widget.CoordinatorLayout 
    android:id="@+id/main_content" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/my_list" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
    </android.support.v7.widget.RecyclerView> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar_bottom" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom"/> 
    </android.support.design.widget.CoordinatorLayout> 

zu tun, aber ehrlich gesagt glaube ich nicht, das ist genug.

Vielleicht ist die Lösung, die den Toolbar einen benutzerdefinierten app:layout_behavior wie gewohnt mit einem FAB tun würde, zu geben, wie ich in my blog article tun.

Bitte lassen Sie mich wissen, wie es sich herausstellt!

EDIT

Ich habe gemerkt, dass vielleicht das, was Sie suchen die neu eingeführte bottom navigation bar ist! Ich habe gesehen, dass es viele Third-Party-Bibliotheken gibt, die das out-of-the-box tun oder vielleicht versuchen, es zu implementieren!

+0

Leider ist es unmöglich, mit Ihrer Lösung, weil ich Classcast, zweite, was in xml bekommen sollte RecyclerView sein. – ThirdMartian

+0

Oh, wenn ich mich gut erinnere CoordinatorLayout ist eine Unterklasse von FrameLayout, Sie können Elemente innerhalb des XML-Blocks ohne Nebenwirkungen austauschen, denke ich. Bitte siehe auch meine Bearbeitung! – fiipi

+0

Oh, ich lag falsch, es war ein vorübergehender Fehler, jetzt ist die Symbolleiste unten und ich versuche, eine Lösung für das Verbergen/Zeigen mit Scrollen zu finden. Ich möchte die untere Navigationsleiste nicht verwenden, weil die Elemente in der Symbolleiste neue Aktivitäten statt neuer Fragmente im Container öffnen sollen. Ich meine, bereits erstellte Bibliotheken für die untere Navigationsleiste sind zu groß für meine Lösung, aber vielleicht muss ich sie verwenden. – ThirdMartian

0

Versuchen mit diesem

<android.support.design.widget.CoordinatorLayout 
android:id="@+id/main_content" 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 
    <android.support.design.widget.AppBarLayout 
     android:id="@+id/id_appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fitsSystemWindows="true"> 

      <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar_bottom" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      app:layout_scrollFlags="scroll|enterAlways"/> 

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

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/my_list" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" > 
    </android.support.v7.widget.RecyclerView> 


</android.support.design.widget.CoordinatorLayout> 
+0

Denken Sie daran, dass ich Symbolleiste unten möchte! – ThirdMartian

+0

Verwenden Sie dies in der Symbolleiste Android: layout_gravity = "unten" – Masum

+0

Symbolleiste ist immer noch auf der Oberseite – ThirdMartian

Verwandte Themen