简介
一行代码实现标题栏和底部导航栏的出现与隐藏
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()