状态栏3---ToolBar可折叠效果,添加监听
来源:互联网 发布:linux 777 什么权限 编辑:程序博客网 时间:2024/06/05 15:14
对比于上一篇文章http://blog.csdn.net/chazihong/article/details/74351963
想实现CollapsingToolbarLayout中的title,在整个展开时不显示title,在整体收缩状态时显示title。
对AppBarLayout控件进行监听,分为三种状态进行监听。
EXPANDED, // 展开
COLLAPSED, // 折叠
IDLE // 其他
首先,创建AppBarStateChangedListener抽象类继承AppBarLayout.OnOffsetChangedListener,并重写onOffsetChanged方法。
package com.example.administrator.coordinatordemo;import android.support.design.widget.AppBarLayout;/** * Created by Administrator on 2017/7/4. */public abstract class AppBarStateChangedListener implements AppBarLayout.OnOffsetChangedListener { // AppBar状态 public enum State { EXPANDED, // 展开 COLLAPSED, // 折叠 IDLE // 其他 } private State mCurrentState = State.IDLE; @Override public void onOffsetChanged(AppBarLayout appBarLayout, int i) { if (i == 0) { if (mCurrentState != State.EXPANDED) { onStateChanged(appBarLayout, State.EXPANDED); } mCurrentState = State.EXPANDED; } else if (Math.abs(i) >= appBarLayout.getTotalScrollRange()) { if (mCurrentState != State.COLLAPSED) { onStateChanged(appBarLayout, State.COLLAPSED); } mCurrentState = State.COLLAPSED; } else { if (mCurrentState != State.IDLE) { onStateChanged(appBarLayout, State.IDLE); } mCurrentState = State.IDLE; } } public abstract void onStateChanged(AppBarLayout appBarLayout, State state);}
在MainActivity.java中,给AppBarLayout控件添加监听。
appBarLayout.addOnOffsetChangedListener(new AppBarStateChangedListener() { @Override public void onStateChanged(AppBarLayout appBarLayout, State state) { // 展开状态 if (state == State.EXPANDED) { toolbarLayout.setTitle(""); } else if (state == State.COLLAPSED) { toolbarLayout.setTitle("JacksonYi"); } else { toolbarLayout.setTitle(""); } } });
在状态改变时,进行响应的逻辑处理。这里就是简单的处理title是否显示。
阅读全文
1 0
- 状态栏3---ToolBar可折叠效果,添加监听
- 状态栏2---ToolBar可折叠效果
- CollapsingToolbarLayout可折叠的toolbar
- ExtJS4 Toolbar添加与事件监听
- 可折叠的Toolbar—CollapsingToolbarLayout
- Android DrawerLayout+ToolBar+NavigationView实现策划效果,沉浸式状态栏
- 实现可折叠效果
- Android之可折叠Toolbar的实现
- 仿微信可折叠效果的TextView
- Toolbar状态栏的配置
- 添加toolbar
- Android 监听scrollview滚动实现ToolBar显示和隐藏的效果
- Android 5.0+可折叠toolbar布局(CollapsingToolbarLayout)的使用
- 细说 AppbarLayout,如何理解可折叠 Toolbar 的定制
- ToolBar显示到状态栏、不全
- Toolbar实现沉浸式状态栏
- toolbar实现沉浸式状态栏
- 用gridview实现可折叠的现实效果
- Windows下C++软件调试——检测内存泄露
- 【Unity基础知识】——Unity图片Atlas-2DTextures属性
- 广告点击率平滑
- apache、nginx禁止访问文件或目录设置
- Servlet基础
- 状态栏3---ToolBar可折叠效果,添加监听
- 数据结构——快慢指针法查找链表中间值
- ThinkPHP3.2.2-CURD
- CombineMeshes unity网格合并后位置会变
- SpringMVC 将复杂对象以json格式返回前端
- Journal Storage Directory not formatted
- 关于html的几个总结
- JavaWeb: 事务与数据库连接池
- Angular2 自定义validators