CollapsingToolbarLayout設定contentScrim,當剩餘摺疊高度是ToolBar高度的兩倍的時候,contentScrim設定的背景就出現了。
思路
既然根據Google的XML程式碼沒辦法實現這個功能,那麼是不是有這麼一個程式碼可以監聽到AppBarLayout的滑動狀態?
解決方案
@BindView(R.id.app_bar_ayout)
AppBarLayout mAppBarAyout;
@BindView(R.id.coolapsing_toolbar)
CollapsingToolbarLayout mCoolapsingToolbar;
/**
* 監聽滑動狀態
*/
mAppBarAyout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener()
{
@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset)
{
if (verticalOffset == 0)
{
KLog.e("展開狀態");
mCoolapsingToolbar.setContentScrim(null);
}
else if (Math.abs(verticalOffset) >= appBarLayout.getTotalScrollRange())
{
KLog.e("摺疊狀態");
mCoolapsingToolbar.setContentScrimResource(R.drawable.shape_main_title);
}
else
{
KLog.e("中間狀態");
mCoolapsingToolbar.setContentScrim(null);
}
}
});
}
佈局
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_ayout"
style="@style/match_wrap">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/coolapsing_toolbar"
style="@style/match_wrap"
silas:contentScrim="@drawable/shape_main_title"
silas:layout_collapseMode="parallax"
silas:layout_scrollFlags="scroll|exitUntilCollapsed">
<com.youth.banner.Banner
android:id="@+id/banner"
style="@style/match_parent"
android:layout_height="@dimen/dimen_170"
android:scaleType="fitXY"
silas:layout_collapseMode="parallax"
silas:layout_collapseParallaxMultiplier="0.7"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?android:actionBarSize"
silas:layout_collapseMode="pin">
<RelativeLayout
android:id="@+id/ll_navigation_bar"
style="@style/match_parent"
android:background="@null">
<ImageView
android:id="@+id/iv_user_center"
android:layout_width="@dimen/dimen_35"
android:layout_height="@dimen/dimen_35"
android:layout_centerVertical="true"
android:src="@mipmap/ic_mine_head_portrait"/>
<TextView
android:id="@+id/tv_search"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen_35"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dimen_20"
android:layout_marginRight="@dimen/dimen_20"
android:layout_toLeftOf="@+id/iv_download"
android:layout_toRightOf="@+id/iv_user_center"
android:background="@drawable/shape_rect_big_corners_white"
android:drawableLeft="@mipmap/ic_home_search"
android:drawablePadding="@dimen/dimen_5"
android:gravity="center_vertical"
android:paddingLeft="@dimen/dimen_15"
android:textColor="@color/color_gray_cccccc"
android:textSize="@dimen/font_16"/>
<ImageView
android:id="@+id/iv_download"
android:layout_width="@dimen/dimen_35"
android:layout_height="@dimen/dimen_35"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/dimen_15"
android:src="@mipmap/ic_home_download"/>
</RelativeLayout>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
相關文章
- 設定document物件的高度物件
- Material Design之CollapsingToolbarLayout,實現Toolbar的摺疊效果Material Design
- 設定div高度等於螢幕高度
- android 設定listview高度AndroidView
- 直播平臺搭建,動態設定ListView的高度的兩種方法View
- 如何設定span元素的寬度和高度
- Flex AS專案設定SWF(寬度、高度、背景色等)Flex
- list元件設定flex-direction:row之後,設定的高度不生效元件Flex
- Android 通知欄顯示自定義通知時設定更高的高度Android
- 程式設計師的技能樹,決定了一生職業的高度程式設計師
- jQuery動態設定div元素的高度和寬度jQuery
- CSS 設定 span 元素 寬度與高度CSS
- tableView中設定估算高度estimatedRowHeightView
- ExtJS4中設定tabpanel的tab高度問題JS
- LinearLayout.onMeasure-設定LinearLayout的高度
- flutter TextField設定高度後,文字無法居中Flutter
- 為什麼無法設定連結的高度和寬度
- iframe 高度設定為0時還有佔位_iframe佔位
- CSS 實現超過固定高度後出現展開摺疊按鈕CSS
- pdo連線的時候設定字元編碼是這樣的字元
- iOS 設定的textFiled的時候不能編輯iOS
- css實現的規定最小高度然後高度自適應程式碼例項CSS
- [提問交流]ueditor 段落格式點選後的高度怎麼設定?
- echarts調整圖表和標題的距離,以及設定高度Echarts
- 為什麼設定css使用百分比設定元素高度無效CSS
- hexo部落格的背景設定Hexo
- 摺疊皮膚元件的設計與實現元件
- 【乾貨】基於iconfont擴充的EasyTextView(高度自定義,豐富Api,支援左右設定Text,設定Shape,設定span等)...TextViewAPI
- 【乾貨】基於iconfont擴充的EasyTextView(高度自定義,豐富Api,支援左右設定Text,設定Shape,設定span等)TextViewAPI
- idea設定 執行 按鈕在右上角,設定toolbar兩端對齊Idea
- 記一次 Dcat-admin 圖表設定高度遇到的問題
- UISearchBar預設高度UI
- 將span元素設定為固定寬度和高度程式碼
- 一個專為Android平臺設計的高度可定製的日曆庫Android
- MySQL設定當前時間為預設值的方法MySql
- CSS設定元素的背景顏色CSS
- 透明背景的開/關設定 (轉)
- Toolbar設定掉坑總結