1
**Main Layout**: 

<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/content" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    android:orientation="vertical"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appBarLayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/White"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:contentScrim="@color/white" 
      app:titleEnabled="false" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <TextView 
       android:id="@+id/collapsing_title" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:adjustViewBounds="true" 
       android:text="Journal Name, Volume No, Issue" 
       android:textSize="40sp" 
       android:textStyle="bold" 
       android:textColor="@color/black" 
       android:padding="30dp" 
       android:layout_marginTop="?attr/actionBarSize" 
       app:layout_collapseMode="parallax" /> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:background="@color/primary" 
       app:layout_collapseMode="pin" /> 

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

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

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

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

**Layout**:article_listing_content 

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <RelativeLayout 
     android:id="@+id/rv_container" 
     android:visibility="visible" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <android.support.v7.widget.RecyclerView 
      android:id="@+id/recycler_view" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:clipToPadding="false" 
      android:longClickable="true" 
      android:elevation="50dp" 
      android:scrollbars="vertical"/> 

    </RelativeLayout> 

    <RelativeLayout 
     android:id="@+id/error_msg_container" 
     android:visibility="gone" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <TextView 
      android:id="@+id/error_msg" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 
    </RelativeLayout> 

</RelativeLayout> 

如果回收站視圖中沒有足夠的數據,我想禁用標題字段的摺疊(collapsing_title - CollapsingToolbarLayout中的TextView)。即只有在需要更多數據/滾動時纔會發生摺疊,否則應該禁用摺疊。如何在Android中啓用或禁用CollapsibleToolbarLayout中的摺疊?

回答

1

您可以通過修改CollapsingToolbarLayoutapp:layout_scrollFlags屬性來「禁用」此摺疊行爲。

作爲layout_屬性,這是父母的LayoutParams(即AppBarLayout.LayoutParams)的一部分。正如預期的那樣,該課程揭示了方法setScrollFlags()

要禁用塌陷:

CollapsingToolbarLayout collapsing = 
    (CollapsingToolbarLayout) findViewById(R.id.toolbar_layout); 

AppBarLayout.LayoutParams params = 
    (AppBarLayout.LayoutParams) collapsing.getLayoutParams(); 

params.setScrollFlags(0); 

collapsing.setLayoutParams(params); 

要重新啓用崩潰,只需用一個通過在原始標誌更換setScrollFlags()電話:

params.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL | AppBarLayout.LayoutParams.SCROLL_FLAG_EXIT_UNTIL_COLLAPSED); 
相關問題