21

Zagnieżdżony przewijany widok przewija się płynnie po przewijaniu w dół, ale po przewinięciu w górę jest powolny. Zamykanie paska narzędzi (z widokiem obrazu i framelayout) po przewinięciu w górę nie powoduje renderowania zawartości (pozostaje puste). Próbowałem każdej flagi na zwijanym pasku narzędzi.Zwijany pasek narzędzi i zagnieżdżony widok nie płynnie przewijający

<android.support.design.widget.CoordinatorLayout 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/coordinatorLayout" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true"> 


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

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/collapsing_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fitsSystemWindows="true" 

     app:contentScrim="?attr/colorPrimary" 

     app:layout_scrollFlags="scroll|exitUntilCollapsed"> 


     <ImageView 
      android:id="@+id/backdrop" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:minHeight="100dp" 
      android:fitsSystemWindows="true" 
      android:scaleType="centerCrop" 
      android:src="@drawable/pic" 
      app:layout_collapseMode="parallax" 
      app:layout_collapseParallaxMultiplier="0.5" 
      app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"/> 

     <include 
      android:id="@+id/framelayout" 
      layout="@layout/header_layout" 
      app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed" 
      android:minHeight="100dp"/> 


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


<!-- Your Scrollable View --> 
<android.support.v4.widget.NestedScrollView 
    android:id="@+id/nested" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="fill_vertical" 

    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:paddingTop="24dp"> 



     </LinearLayout> 



</android.support.v4.widget.NestedScrollView> 


<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="#da1b75" 
    android:orientation="horizontal" 
    android:textColor="#ffffff" 
    android:theme="@style/ThemeOverlay.AppCompat.Light" 
    app:layout_anchor="@id/appbar" 
    app:layout_collapseMode="pin" 
    app:title=""> 



</android.support.v7.widget.Toolbar> 

+0

Mam również ten sam problem, – Bytecode

+0

, czy pasek narzędzi nie powinien znajdować się wewnątrz zwiniętego układu paska narzędzi.? powinien być tylko jeden widok paralaksy i inny widok powinien być paskiem narzędzi w zwijaniu układu paska narzędzi, jak sądzę, –

+0

Czy istnieją złożone widoki w twoim NestedScrollView? Czy Twój NestedScrollView przewija się płynnie bez CoordinatorLayout? – sockeqwe

Odpowiedz

0

myślę zapomnienia zamykając znacznik do CoordinatorLayout. Również umieścić pasek na CollapsingToolbarLayout

<android.support.design.widget.CoordinatorLayout 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/coordinatorLayout" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true"> 

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

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:fitsSystemWindows="true" 

      app:contentScrim="?attr/colorPrimary" 

      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 


      <ImageView 
       android:id="@+id/backdrop" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:minHeight="100dp" 
       android:fitsSystemWindows="true" 
       android:scaleType="centerCrop" 
       android:src="@drawable/pic" 
       app:layout_collapseMode="parallax" 
       app:layout_collapseParallaxMultiplier="0.5" 
       app:layout_scrollFlags="scroll|exitUntilCollapsed" /> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:background="#da1b75" 
       android:orientation="horizontal" 
       android:textColor="#ffffff" 
       android:theme="@style/ThemeOverlay.AppCompat.Light" 
       app:layout_anchor="@id/appbar" 
       app:layout_collapseMode="pin" 
       app:title="Your title"> 

      </android.support.v7.widget.Toolbar> 


<!-- What is this for? 

      <include 
       android:id="@+id/framelayout" 
       layout="@layout/header_layout" 
       app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed" 
       android:minHeight="100dp"/> 
--> 

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


    <!-- Your Scrollable View --> 
    <android.support.v4.widget.NestedScrollView 
     android:id="@+id/nested" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_gravity="fill_vertical" 

     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      android:paddingTop="24dp"> 



      </LinearLayout> 



    </android.support.v4.widget.NestedScrollView> 

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

byłem skierowane do podobnych problemów z układem zawierającym coordinator layout i fragmenty, które zawarte RecyclerView. Dodałem następujący kod w CollapsingToolbarLayout, aby przewijanie było płynne.

app:layout_scrollFlags="scroll|enterAlways" 
5

Dokonaj bezpośredniego dziecko zagnieżdżonego Scrollview klikalne (okrywać nie masz tylko jeden element podrzędny, dodać układ i umieścić wszystkie elementy interfejsu użytkownika do niego i zrobić klikalne Układ)
android: klikalne = "true"
Miałem do czynienia z podobnym problemem i to działało dla mnie!

Oto kod pracuję na -

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 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:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="test.testrecycler.MaterialActivity" 
> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="300dp" 
    android:theme="@style/AppTheme.AppBarOverlay" 
    android:fitsSystemWindows="true" 
    > 
    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/collapsing_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:contentScrim="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed" 
     app:expandedTitleTextAppearance="@style/expandedappbar" 
     app:collapsedTitleTextAppearance="@style/collapsedappbar" 
     app:statusBarScrim="@color/colorPrimaryDark" 
     > 
     <ImageView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:src="@drawable/sample" 
      android:scaleType="centerCrop" 
      app:layout_collapseMode="parallax" /> 
     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_collapseMode="pin" /> 

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

<include layout="@layout/content_material" /> 

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

A oto plik content_material.xml mający NestedScrollView.It ma jeden element podrzędny (TextView), który został wykonany klikalne.

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.NestedScrollView 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/content_material" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
app:layout_behavior="@string/appbar_scrolling_view_behavior" 
tools:context="test.testrecycler.MaterialActivity" 
tools:showIn="@layout/activity_material"> 

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:clickable="true" 
    android:text="This is an association football club formed in 1983, based in the town of Dover, Kent, England. In the 1989–90 season Dover 
    Athletic won the Southern League championship, but failed to gain promotion to the Football Conference as the club's ground did not meet 
    the required standard. Three seasons later the team won the title again and this time gained promotion to the Conference, where they spent 
    nine seasons before being relegated. The club was transferred to the Isthmian League Premier Division in 2004, but another poor season led 
    the club to a further relegation. After three seasons in the Isthmian League Division One South, the club won the championship and promotion 
    back to the Premier Division, and the following season won another championship and promotion to Conference South. In the 2013–14 season, 
    Dover defeated Ebbsfleet United to return to the Conference Premier after a twelve-year absence. Nicknamed the Whites for their white shirts, 
    they have played at the Crabble Athletic Ground since the club's formation. Their best performance in the FA Cup was reaching the third 
    round proper in both the 2010–11 and 2014–15 seasons. (Full article...) 
    Recently featured: Kalki Koechlin Rogue River (Oregon) Operation Ironside 
    Archive By email More featured articles... 
    his time gained promotion to the Conference, where they spent 
    nine seasons before being relegated. The club was transferred to the Isthmian League Premier Division in 2004, but another poor season led 
    the club to a further relegation. After three seasons in the Isthmian League Division One South, the club won the championship and promotion 
    back to the Premier Division, and the following season won another championship and promotion to Conference South. In the 2013–14 season, 
    Dover defeated Ebbsfleet United to return to the Conference Premier after a twelve-year absence. Nicknamed the Whites for their white shirts, 
    they have played at the Crabble Athletic Ground since the club's formation. Their best performance in the FA Cup was reaching the third 
    round proper in both the 2010–11 and 2014–15 seasons. (Full article...)" /> 
</android.support.v4.widget.NestedScrollView> 
0

Jest to bardzo proste. Dużo się zmagałem iw końcu poznałem jego problem z obrazem o wysokiej rozdzielczości, który umieściłem w src z ImageView. Rozwiązanie: Po prostu zmniejsz rozdzielczość obrazu zachowując takie same wymiary. (Prawdopodobnie używając Photoshopa). Pracowałem dla mnie