监听CollaspingToolbarLayout折叠完成事件
来源:互联网 发布:淘宝晚礼服 编辑:程序博客网 时间:2024/05/10 01:15
看了CollaspingToolbarLayout的源码,发现没有关于折叠事件的监听器,要是需要在折叠完成后完成一些设置,就不能直接通过设置监听器完成了。
不过看了AppbarLayout之后,发现AppbarLayout最前面就有一个接口的声明。
/** * Interface definition for a callback to be invoked when an {@link AppBarLayout}'s vertical * offset changes. */public interface OnOffsetChangedListener { /** * Called when the {@link AppBarLayout}'s layout offset has been changed. This allows * child views to implement custom behavior based on the offset (for instance pinning a * view at a certain y value). * * @param appBarLayout the {@link AppBarLayout} which offset has changed * @param verticalOffset the vertical offset for the parent {@link AppBarLayout}, in px */ void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset);}
这个Listener可以监听AppbarLayout的改变,而CollaspingToolbar的效果其中之一就是改变AppbarLayout的高度。
appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() { //verticalOffset是当前appbarLayout的高度与最开始appbarlayout高度的差,向上滑动的话是负数。 @Override public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) { //如果折叠后固定,那么以下判断则是折叠完成时为true if (getSupportActionBar().getHeight() - appBarLayout.getHeight() == verticalOffset) { //do something } } });
使用CollaspingToolbarLayout遇到的问题:一般情况下,CollaspingToolbarLayout必须是AppbarLayout的第一个子元素,这样折叠才有效。
0 0
- 监听CollaspingToolbarLayout折叠完成事件
- CollapsingToolbarLayout的使用及折叠事件监听
- iframe载入完成时的事件监听
- Android 4.0 监听启动完成事件
- Android 4.0 监听启动完成事件
- iframe载入完成时的事件监听
- iframe载入完成时的事件监听
- javascript监听iframe加载完成事件
- Android实现监听EditText编辑完成事件
- 如何写监听回调(事件完成监听、点击响应监听 )
- android Activity加载完成后的监听事件
- Android DownloadManager下载完成事件监听(系列4)
- jQuery-iframe加载完成后触发的事件监听
- 事件监听
- 事件监听
- 事件监听
- 监听事件
- 事件监听
- 使用spm构建seajs项目
- 第六周项目二带武器角色类
- View的工作原理
- Java第五次实验要求
- 【转】kinect和openNI学习资料汇总
- 监听CollaspingToolbarLayout折叠完成事件
- 先立好flag
- 安卓开发调试过程中出现的问题
- vs2015新建mvc的空模版项目
- 【codevs 1369】题解
- Spring中@ImportResource和@Value加载资源文件
- retrace 解析混淆代码
- 两个序列组合成最大的数Create Maximum Number
- 求视差图