17

Zastosowanie:Prevent CollapsingToolbarLayout upadek jeśli nie są potrzebne

compile 'com.android.support:design:23.0.0' 
compile 'com.android.support:appcompat-v7:23.0.0' 
compile 'com.android.support:cardview-v7:23.0.0' 
compile 'com.android.support:recyclerview-v7:23.0.0' 

Z projektu Cheesesquare aktualizowana.

W szczegóły sera, usuwam 2 karty (aby mieć tylko jedną). Czy istnieje sposób, aby zapobiec zawaleniu paska narzędzi, który pokazuje puste miejsce?

enter image description here

+1

naprawdę nie znaleźć rozwiązanie, jednak jestem teraz za pomocą https://github.com/ henrytao-me/smooth-app-bar-layout i nie mam tego problemu (ponieważ implementacja jest inna) – stankocken

Odpowiedz

18

celu realizacji takiego zachowania w Cheesesquare przykład wystarczy zmodyfikować android:layout_height param z NestedScrollView do wrap_content. Zapobiegnie przewijaniu według zawartości, jeśli jest wystarczająco małe, aby zmieścić się na ekranie.

Aby zapobiec przewijaniu przez CollapsingToolbarLayout, należy ustawić programowo wartość layout_scrollFlags na wartość AppBarLayout.LayoutParams.SCROLL_FLAG_SNAP.

Here opisał, jak możesz to zrobić.

+0

Lub w xml dodaj '' app: layout_scrollFlags = "snap" '' do tagu CollapsingToolbarLayout – tieorange

+0

następnie zagnieżdżony widok przewijania jest dobry, ale pasek narzędzi zwijania wciąż można przewijać – Sheychan

+0

layout_scrollFlags nie działa. użyj tego obejścia, aby wyłączyć przewijanie ZwijanieToolbarLayout. https://stackoverflow.com/a/40750707/3094065 to jest prawda i naprawdę działa!) – maXp

1

w XML Użyłem nieruchomość

app:layout_scrollFlags="snap" w <android.support.design.widget.CollapsingToolbarLayout

i po aktywności

toolbar = (Toolbar) findViewById(R.id.toolbar); 
setSupportActionBar(toolbar); 
toolbar.setTitle(null); 
toolbar.setCollapsible(false); 

to działa teraz.

1

Oto mój kod roboczych, początkowo collapes paska:

_appbar.setExpanded (false);

AppBarLayout _appbar = (AppBarLayout) findViewById(R.id.appbar); 
    _appbar.setExpanded(false); 

oto xml układ

<android.support.design.widget.AppBarLayout 
    android:id="@+id/appbar" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/detail_backdrop_height" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
    android:fitsSystemWindows="true"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/collapsing_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed" 
     android:fitsSystemWindows="true" 
     app:contentScrim="?attr/colorPrimary" 
     app:expandedTitleMarginStart="48dp" 
     app:expandedTitleMarginEnd="64dp"> 



     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 

      app:layout_collapseMode="pin" /> 





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

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

odniesienia jest: AppBarLayout.setExpanded(boolean)

Powiązane problemy