Io uso biblioteca di progettazione di supporto per mostrare/nascondere la barra degli strumenti durante lo scorrimento di un recyclerView all'interno di un frammento, come menzione qui https://github.com/codepath/android_guides/wiki/Handling-Scrolls-with-CoordinatorLayoutCome abilitare/barra degli strumenti di disabilitare lo scorrimento di programmazione quando si utilizza il design libreria di supporto
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<android.support.design.widget.CoordinatorLayout
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:layout_scrollFlags="scroll|enterAlways"/>
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:id="@+id/flContent"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
Funziona griglia, ora Voglio abilitare/disabilitare la barra degli strumenti di scorrimento a livello di codice perché io uso frammenti e ho bisogno di interrompere questa funzione per alcuni frammenti.
E per aggiungere lo scorrimento posteriore in fase di esecuzione, utilizzare lo stesso metodo con le costanti [da qui] (http://developer.android.com/reference/android/support/design/widget/AppBarLayout.LayoutParams.html#SCROLL_FLAG_ENTER_ALWAYS) – Mauker
Voglio lo stesso comportamento. Ha funzionato, ma il problema che sto avendo è che, quando imposto i flag su 0, l'altezza di nestedScrollView è ridotta e crea un enorme spazio vuoto nella parte inferiore del contenuto. Per favore aiutatemi se qualcuno lo sa. –
@VineetAshtekar Puoi provare a rimuovere appbar_scrolling_view_behavior da 'NestedScrollView' allo stesso tempo. Poiché la barra degli strumenti non può più scorrere, non c'è motivo di disporre il 'NestedScrollView' come se fosse possibile. Non so esattamente come farlo a livello di programmazione; Ci sto guardando. –