簡介
一行代碼實作标題欄和底部導航欄的出現與隐藏
github位址:https://github.com/githubwing/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()