博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PullToRefreshScrollView 滑动监听 actionbar渐变
阅读量:7034 次
发布时间:2019-06-28

本文共 1282 字,大约阅读时间需要 4 分钟。

  hot3.png

最近有个需求是actionbar随着滑动来改变背景颜色。 因为我layout中里面包的是PullToRefreshScrollView,所以首先就是要监听PullToRefreshScrollView的变化。 首先就是先去看是否PullToRefreshScrollView里面是否有现成的接口。 setOnScrollChangeListener这是android中view的接口 setOnScrollChangedListener这个是PullToRefreshScrollView中的接口

可是通过demo中测试发现这两个接口只有在快速滑动的时候才会去调用,在慢速滑动的时候有时不会调用。所以这个方法不能实现我的需求。

PullToRefreshScrollView.getRefreshableView().setOnTouchListener(new View.OnTouchListener() {            @Override            public boolean onTouch(View v, MotionEvent event) {                if(event.getAction()==MotionEvent.ACTION_MOVE){                    //可以监听到ScrollView的滚动事件                    double alpha = (double)index_content.getRefreshableView().getScrollY()/(AppInfoUtil.getScreenHeight()/3)*255;                    alpha =  alpha > 255 ? 255 : alpha;                    alpha = alpha < 2 ? 0 :alpha;                    Log.d(TAG ,"ALPHA:"+alpha);                    head_title.getBackground().setAlpha((int)alpha);                }                return false;            }        });

后来在查相关的资料发现PullToRefreshScrollView.getRefreshableView()可以得到里面的scroolview这样我就可以对触控事件的监听来实现滑动的监听

event.getAction()==MotionEvent.ACTION_MOVE

接下来要做的就比较简单了,直接对view的背景色设置透明度

actionHeaderView.getBackground().mutate().setAlpha(0);

转载于:https://my.oschina.net/kipeng/blog/743075

你可能感兴趣的文章
Docker安装停止在:Setting up docker-engine (1.11.2-0~xenial)的解决方法
查看>>
源码安装samba4.3
查看>>
《zabbix_server.conf配置文件参数详解》-2
查看>>
面试题目两题写法
查看>>
【NetApp】关于inode的说明
查看>>
如何用 JS 实现 3D ×××效果
查看>>
自动问答技术简介
查看>>
用MyEclipse写jsp文件时,出现光标不见了或者乱跑的情况
查看>>
SiteFactoryCMS还原
查看>>
携程Apollo一键编译脚本+部署实现
查看>>
我的友情链接
查看>>
linux下ftp的安全巧用之pureftp!
查看>>
初始化AppWidget框架结构
查看>>
[PHP] 文件系统交互
查看>>
技术架构两三语
查看>>
我的友情链接
查看>>
文本处理“三剑客”之SED"
查看>>
find应用示例
查看>>
Kmail身份验证组件
查看>>
为什么很多招聘信息都要求三年以上的工作经验?
查看>>