1. 程式人生 > >安卓專案實戰之ByeBurger一句程式碼實現標題欄、導航欄滑動隱藏

安卓專案實戰之ByeBurger一句程式碼實現標題欄、導航欄滑動隱藏

簡介

效果圖

在這裡插入圖片描述 內容View可為:ViewPager中巢狀RecycleView 在這裡插入圖片描述 內容View可為:NestedScrollView包裹TextView 在這裡插入圖片描述 內容View可為:NestedScrollView包裹WebView

如何使用

1.在project的build.gradle檔案中新增:

allprojects { 
    repositories { 
        jcenter() 
        maven { url "https://jitpack.io" } 
     } 
}

2.在app的builde.gradle檔案中新增:

dependencies {
   compile 'com.github.githubwing:ByeBurger:1.2.3'
   compile 'com.android.support:design:25.0.0'
}

3.你只需要在佈局中,使用CoordinatorLayout作為根佈局,然後向你的任何View中插入一句app:layout_behavior屬性,即可實現滑動的隱藏和顯示。你的標題欄可以是Toolbar或者LinearLayout或者什麼鬼,同樣你的底部導航欄可以是最新的BottomNavigationView亦或者TabLayout在古老一點的RadioButton都可以!

最新添加了對懸浮按鈕的支援。

<android.support.design.widget.CoordinatorLayout> 

    // 中間內容View,只有實現NestScorll介面View的才可以實現監聽,例如RecyclerView、NestScrollView.在ListView下,是不生效的
    <Viewpager /> 
    
    <Toolbar
        app:layout_behavior="@string/bye_burger_title_behavior" /> 
        
    <BottomTab 
        android:layout_gravity="bottom"
        app:layout_behavior="@string/bye_burger_bottom_behavior" /> 
        
</android.support.design.widget.CoordinatorLayout>

注意:

  • CoordinatorLayout類似於FrameLayout,所以注意xml層次,Title和Bottom Tab要在xml下方。
  • 只有實現NestScorll介面View的才可以實現監聽,例如RecyclerView、NestScrollView.在ListView下,是不生效的。
  • 所有需要隱藏的,必須作為CoordinatorLayout的直接子view

你也可以手動呼叫如下方法,來控制顯隱:

ByeBurgerBehavior.from(mToolbar).hide()
ByeBurgerBehavior.show(mFloatButton).show()