HorizontalScrollView重置滑动位置问题
使用HorizontalScrollView实现筛选框的过程中遇到刷新页面或者弹出popWindows时滑动位置会归零问题,查到资料也到没有解决,最后附上个人解决办法。
原因:
刷新页面或其他操作会重新刷新页面布局,然后调用HorizontalScrollView的onLayout方法重绘该布局并将滑动位置归零。
解决办法:
1.覆写父类onScrollChanged方法,记录oldL(向右滑动的距离)参数。
2.覆写父类onLayout方法,如果oldL数值不为零,则滑动到oldL的位置。
3.将布局文件中的HorizontalScrollView改成自己定义的。
最后附上代码:
/*** @author xxb* 筛选框自定义横向滑动布局* 解决重置滑动位置问题*/
public class MyHorizontalScrollView extends HorizontalScrollView {//滑动位置private int oldScX = 0;public MyHorizontalScrollView(Context context) {super(context);}public MyHorizontalScrollView(Context context, AttributeSet attrs) {super(context, attrs);}public MyHorizontalScrollView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);}public MyHorizontalScrollView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {super(context, attrs, defStyleAttr, defStyleRes);}@Overrideprotected void onScrollChanged(int l, int t, int oldl, int oldt) {//每次滑动都记录最后的位置oldScX = oldl;super.onScrollChanged(l, t, oldl, oldt);}@Overrideprotected void onLayout(boolean changed, int l, int t, int r, int b) {super.onLayout(changed, l, t, r, b);//如果最后位置不为零 则滑动到最后的位置if(oldScX!=0){this.scrollTo(oldScX,0);}}
}
HorizontalScrollView重置滑动位置问题相关推荐
- 移动端手指滑动,高度跟随手指滑动位置而改变
效果:列表刚开始显示高度为200,手指滑动,列表高度随手指位置改变,列表最高高度为500 实现这个功能之前先说一下手指触摸事件 //手指按下触发 touchstart(event) {var touc ...
- [Android Pro] 精确记录和恢复ListView滑动位置
reference to : http://blog.csdn.net/welovesunflower/article/details/7926512 工作中遇到一个需求,对ListView某一项操作 ...
- android horizontalscrollview 动画,Android HorizontalScrollView左右滑动效果
本文实例为大家分享了Android HorizontalScrollView左右滑动的具体代码,供大家参考,具体内容如下 效果图 一.什么是HorizontalScrollView Horizonta ...
- 精确记录和恢复ListView滑动位置
工作中遇到一个需求,对ListView某一项操作后刷新ListView,但是如果直接刷新,界面上ListView从第一列开始显示,用户体验不好,于是在网上搜了一些恢复LIstView滑动位置的方法.解 ...
- android 动画后的位置,Android:Comp之后会重置动画位置
Android:Comp之后会重置动画位置 我正在使用xml定义的动画将视图滑出屏幕. 问题是,动画完成后,它将立即重置为其原始位置. 我需要知道如何解决这个问题. 这是xml: 这是我用来调用它的J ...
- Android HorizontalScrollView 水平滑动 在listview上面动态添加图片
Android HorizontalScrollView 水平滑动 listview 上动态添加图片 最近遇到了个 在listview展示广告的需要动态添加图片 如图: 使用了 horizo ...
- vue-awesome-swiper 传参控制滑动位置 滚动位置 slideTo 备注防止后期忘记
接收半路项目,有个需求点击下面的轮播缩略图,控制上面轮播图滑动位置 <swiper :options="swiperOption1" ref="mySwiper&q ...
- Android HorizontalScrollView左右滑动
Android HorizontalScrollView左右滑动 效果图 一.什么是HorizontalScrollView HorizontalScrollView实际上是一个FrameLayout ...
- js控制div内部滚动内容横向滑动位置
js控制div内部滚动内容横向滑动位置 使用 js控制div内部的滚动内容横向滑动,主要应用在移动端,项目是基于angularJS,所以带有angular的点击方法ng-click,可以用原生js替换 ...
最新文章
- thread local storage
- Zuul 2 –样本过滤器
- VC++动态库封装及调用
- C# 视频监控系列(15):总结贴——可能用到的C# WinForm技术小结
- 空间中的语义直线检测_基于语义分割的车道线检测算法研究
- LeetCode—3.双指针算法—对撞指针与快慢指针及其leetcode题
- 毕设题目:Matlab DTMF双音多频
- Ubuntu下bin文件的安装
- “编程不规范 亲人泪两行”
- Matlab 实现串口助手
- 证件照怎么制作?超简单的证件照制作教程来了
- 奥维 最新 图源2023
- 基于决策树对鸢尾花进行分类
- Ubuntu 16G内存在android系统 10/11/12/13编译 framework时候经常oom内存不足,电脑卡死解决办法stubs-docs-non-updatable metalava
- 论文解读:NSGA-II, EFR, EFR-RR
- 区块链热点!STO被政府严令禁止
- matlab图像配准之SSD、NCC、SAD等相似度计算
- 你见过最心酸的事是什么?
- Python-100-days幸运的基督徒
- 图神经网络 推荐系统,基于神经网络的推荐