2016-07-25 15 views

Antwort

0

Dies ist eine Art einfach. diesen Code Legen Sie einfach in Ihre Symbolleiste

<android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       app:layout_scrollFlags="scroll|enterAlways"/> 

Das die Magie tun: app:layout_scrollFlags="scroll|enterAlways"

erinnern xmlns:app="http://schemas.android.com/apk/res-auto"

prüfen dieses Tutorial in Ihrem xml den App Anruf hinzuzufügen: https://guides.codepath.com/android/Handling-Scrolls-with-CoordinatorLayout

1

Seit Ihre Aktivität, die die Symbolleiste in ihrer Inhaltsansicht hat, startet das Fragment, Sie können es immer von Ihrem Fragment erhalten.

MainActivity mainActivity = (MainActivity)getActivity(); 

Ich würde empfehlen, ein Verfahren für sie in Ihrem MainActivity tun:

public void showToolbar(boolean show) { 

    // If you have your toolbar as a private member of MainActivity 
    toolbar.setVisiblity(show ? View.VISIBLE : View.GONE); 

    // But you can also do this 
    if (show) { 
     getSupportActionBar().show(); 
    } 
    else { 
     getSupportActionBar().hide(); 
    } 
} 

Und dann, wenn Sie es tatsächlich von Ihrem Fragment verbergen möchten, rufen sie:

((MainActivity)getActivity()).showToolbar(false); 

zu Damit die Benutzeroberfläche reibungsloser wird, empfehle ich, sie zu übersetzen, anstatt sie sofort zu verstecken. Werfen Sie einen Blick auf die Top-Antwort hier nach Inspiration:

android lollipop toolbar: how to hide/show the toolbar while scrolling?

Wenn Sie nicht wissen, wie zu kümmern, wenn sie tatsächlich zeigen oder verstecken sie über Scroll-Logik, werfen Sie einen Blick auf diese Bibliothek, die Griffe viel für Sie und gibt auch Beispiele:

https://github.com/ksoichiro/Android-ObservableScrollView

0

Verwenden Sie den folgenden Code:

<android.support.design.widget.CoordinatorLayout 
xmlns:app="http://schemas.android.com/apk/res-auto" 
    ...> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_scrollFlags="scroll|enterAlways"/> 

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

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

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

Wenn Recycler Die Ansicht befindet sich in einem anderen Fragment, dann fügen Sie unterhalb der Zeile die Ansicht hinzu, die RecyclerView in diesem CoordinatorLayout enthält.

Muss CoordinatorLayout verwenden.