1

所以我有一个带有AppBarLayout和CollapsingToolbarLayout的CoordinatorLayout。这里是什么样子时,其扩展(左图)和折叠(右图)AppBarLayout不会完全折叠,只会部分展开,直到滚动达到顶部

enter image description here enter image description here

我遇到的第一个问题是,当我向下滚动包含两个textviews蓝色的FrameLayout呢不会崩溃。我想要的是只有工具栏在完全折叠时才可见。我已经尝试了一些改变滚动标志和移动视图和视图组的东西,但没有成功。这里是xml,我也将windowTranslucentStatus设置为true,并将工具栏标题设置为空。

<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:fitsSystemWindows="true" 
> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/main.appbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay" 
    android:fitsSystemWindows="true" 
    > 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/main.collapsing" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fitsSystemWindows="true" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed" 
     app:contentScrim="?colorPrimary" 
     > 

     <ImageView 
      android:id="@+id/main.imageview.placeholder" 
      android:layout_width="match_parent" 
      android:layout_height="200dp" 
      android:scaleType="centerCrop" 
      android:src="@drawable/material_flat" 
      app:layout_collapseMode="parallax" 
      android:fitsSystemWindows="true" 
      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:title="" 
      app:layout_scrollFlags="scroll|enterAlways|snap" 
      app:layout_collapseMode="pin" 
      /> 
    </android.support.design.widget.CollapsingToolbarLayout> 


    <FrameLayout 
     android:id="@+id/main.framelayout.title" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|center_horizontal" 
     android:background="?colorPrimary" 
     android:orientation="vertical" 
     app:layout_scrollFlags="scroll|enterAlways" 
     > 

     <LinearLayout 
      android:id="@+id/main.linearlayout.title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:orientation="vertical" 
      > 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_horizontal" 
       android:gravity="bottom|center" 
       android:text="Information" 
       android:textColor="@android:color/white" 
       android:textSize="30sp" 
       /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_horizontal" 
       android:layout_marginTop="4dp" 
       android:text="Tagline" 
       android:textColor="@android:color/white" 
       /> 

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

<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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="yu.heetae.android.materialdesign.ScrollingActivity" 
    tools:showIn="@layout/activity_scrolling"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="@dimen/text_margin" 
     android:text="@string/large_text"/> 

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

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="@dimen/fab_margin" 
    app:layout_anchor="@id/main.framelayout.title" 
    app:layout_anchorGravity="top|end" 
    app:srcCompat="@android:drawable/ic_dialog_email"/> 

我遇到的第二个问题是,滚动起来的ImageView时扩大约60%的它的高度,然后当滚动到达最后40%扩展顶部。我想要发生的是imageview一旦滚动而不是部分地完全展开。以下是一些有助于解释它的图像。左边的图像是当你正常滚动时,右边的图像是当你最终滚动到顶部时。

enter image description here enter image description here

回答

1

我面临的工具栏部分打开的类似的问题。我添加了snap到scroll_flags标签。我希望这是你所问的。

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