5

Sto cercando di implementare Toolbar e TabLayout in cui quando si scorre il recycleview si dovrebbe nascondere la barra degli strumenti proprio come l'applicazione whatsapp. Mi riferivo a google Blog e Michal Z's Blog. Ho visualizzato il cercapersone nell'attività principale e sto visualizzando l'elenco dei dati al suo interno utilizzando recycleview.La barra degli strumenti non si sta scorrendo anche dopo aver fornito "app: layout_scrollFlags" flag

Francamente parlando sono stato spazzato via dalla nuova libreria di google design perché con una sola riga di codice XML è possibile modificare il comportamento dell'interfaccia utente e dell'interfaccia utente completi. Quindi, per idea di questa funzionalità, dobbiamo aggiungere la riga app:layout_scrollFlags="scroll|enterAlways" nella barra degli strumenti e funziona. Ma per me non funziona. L'ho provato su dispositivi API 19 e 21.

Passando attraverso questionquestion su stack overflow e vari BlogBlog ho trovato 2 modo per ottenere questa funzionalità 1. fornendo ascoltatore scorrimento per recycleview e 2. mettendo contenuto scorrevole all'interno NestedScrollView. Ma non ha funzionato come previsto.

Penso che dovrebbe funzionare senza scrivere alcun codice.

principale Activity.xml

<android.support.design.widget.CoordinatorLayout 
    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:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:background="@color/colorPrimary" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/Base.ThemeOverlay.AppCompat.Dark"/> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/sliding_tabs" 
      android:background="@color/colorPrimaryDark" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 

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

    <android.support.v4.view.ViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

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

ViewPagerFragment.xml

<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/swipe_refresh_layout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@color/windowBackground"> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/order_list" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft= "true" 
     android:layout_alignParentStart="true" 
     android:layout_above="@+id/txtStatus" /> 

</android.support.v4.widget.SwipeRefreshLayout> 
+0

Si prega di inviare il file 'build.gradle'. – Mikhail

risposta

4

Il layout sembra essere corretta.
Verificare che nella versione build.gradle di recyclerView sia esattamente 22.2.0 e buildToolsVersion sia 22.0.1. È necessario farlo perché tutte quelle nuove funzionalità sono apparse nella versione 22.2.0 della libreria di supporto come menzionato here.

+0

buildToolsVersion è 22.0.1 ma stavo usando la versione "v7: 22.0. +" Per recycleview. Ora l'ho cambiato in 22.2.0 e funziona come previsto. Grazie Arkadia –

+1

sto usando v7: 23.3.0 ma non funziona un po 'di tempo per me –

Problemi correlati