使用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重置滑动位置问题相关推荐

  1. 移动端手指滑动,高度跟随手指滑动位置而改变

    效果:列表刚开始显示高度为200,手指滑动,列表高度随手指位置改变,列表最高高度为500 实现这个功能之前先说一下手指触摸事件 //手指按下触发 touchstart(event) {var touc ...

  2. [Android Pro] 精确记录和恢复ListView滑动位置

    reference to : http://blog.csdn.net/welovesunflower/article/details/7926512 工作中遇到一个需求,对ListView某一项操作 ...

  3. android horizontalscrollview 动画,Android HorizontalScrollView左右滑动效果

    本文实例为大家分享了Android HorizontalScrollView左右滑动的具体代码,供大家参考,具体内容如下 效果图 一.什么是HorizontalScrollView Horizonta ...

  4. 精确记录和恢复ListView滑动位置

    工作中遇到一个需求,对ListView某一项操作后刷新ListView,但是如果直接刷新,界面上ListView从第一列开始显示,用户体验不好,于是在网上搜了一些恢复LIstView滑动位置的方法.解 ...

  5. android 动画后的位置,Android:Comp之后会重置动画位置

    Android:Comp之后会重置动画位置 我正在使用xml定义的动画将视图滑出屏幕. 问题是,动画完成后,它将立即重置为其原始位置. 我需要知道如何解决这个问题. 这是xml: 这是我用来调用它的J ...

  6. Android HorizontalScrollView 水平滑动 在listview上面动态添加图片

    Android HorizontalScrollView   水平滑动    listview 上动态添加图片 最近遇到了个 在listview展示广告的需要动态添加图片 如图: 使用了 horizo ...

  7. vue-awesome-swiper 传参控制滑动位置 滚动位置 slideTo 备注防止后期忘记

    接收半路项目,有个需求点击下面的轮播缩略图,控制上面轮播图滑动位置 <swiper :options="swiperOption1" ref="mySwiper&q ...

  8. Android HorizontalScrollView左右滑动

    Android HorizontalScrollView左右滑动 效果图 一.什么是HorizontalScrollView HorizontalScrollView实际上是一个FrameLayout ...

  9. js控制div内部滚动内容横向滑动位置

    js控制div内部滚动内容横向滑动位置 使用 js控制div内部的滚动内容横向滑动,主要应用在移动端,项目是基于angularJS,所以带有angular的点击方法ng-click,可以用原生js替换 ...

最新文章

  1. thread local storage
  2. Zuul 2 –样本过滤器
  3. VC++动态库封装及调用
  4. C# 视频监控系列(15):总结贴——可能用到的C# WinForm技术小结
  5. 空间中的语义直线检测_基于语义分割的车道线检测算法研究
  6. LeetCode—3.双指针算法—对撞指针与快慢指针及其leetcode题
  7. 毕设题目:Matlab DTMF双音多频
  8. Ubuntu下bin文件的安装
  9. “编程不规范 亲人泪两行”
  10. Matlab 实现串口助手
  11. 证件照怎么制作?超简单的证件照制作教程来了
  12. 奥维 最新 图源2023
  13. 基于决策树对鸢尾花进行分类
  14. Ubuntu 16G内存在android系统 10/11/12/13编译 framework时候经常oom内存不足,电脑卡死解决办法stubs-docs-non-updatable metalava
  15. 论文解读:NSGA-II, EFR, EFR-RR
  16. 区块链热点!STO被政府严令禁止
  17. matlab图像配准之SSD、NCC、SAD等相似度计算
  18. 你见过最心酸的事是什么?
  19. Python-100-days幸运的基督徒
  20. 图神经网络 推荐系统,基于神经网络的推荐

热门文章

  1. js实现日期年月日加减,自动处理闰年
  2. 有哪些很奇PA,但又比较少人知道的病毒?
  3. 【ZED】从零开始使用ZED相机(二):打开相机+捕获图像
  4. simulink仿真技术简介
  5. 在Hive上实现SCD
  6. 弘辽科技:淘宝做收藏加购有权重吗?权重规则是什么?
  7. Datasets available about kidney and renal tumor
  8. 谷歌验证码kaptcha生成工具类
  9. Zotero 超好用插件的下载链接及配置方法(PDF-translate/ZotFile/茉莉花/Zotero Scihub)
  10. iOS 创建xcode插件