`

解决scrollview不滑动的问题

 
阅读更多

scrollview 使用setOnTouchListener后停止滑动:

解决办法:

 

一、

	int touchY = 0;
	private boolean isScoll ;
	
	private void scrollView() {

		behavorLayout.setOnTouchListener(new OnTouchListener() {
			private int lastY = 0;
			private int touchEventId = -9983761;
			Handler handler = new Handler() {
				@Override
				public void handleMessage(Message msg) {
					super.handleMessage(msg);
					View scroller = (View) msg.obj;
					if (msg.what == touchEventId) {
						if (lastY == scroller.getScrollY()) {
							handleStop(scroller);
						} else {
							handler.sendMessageDelayed(handler.obtainMessage(
									touchEventId, scroller), 1);
							lastY = scroller.getScrollY();
						}
					}
				}
			};

			@Override
			public boolean onTouch(View v, MotionEvent event) {
				isScoll = false;
				int eventAction = event.getAction();
				int y = (int) event.getRawY();
				switch (eventAction) {
				case MotionEvent.ACTION_UP:
					if (Math.abs(touchY - y) < 20) {
					} else {
						handler.sendMessageDelayed(handler.obtainMessage(
								touchEventId, v), 5);
					}
					break;
				default:
					break;
				}
				return false;
			}

			private void handleStop(Object view) {
				this.finish();	  //添加处理的代码
	  
			}
		});
	}

 解决办法二、

public ScrollView        scrollView;  
private int              scrollViewY;  
scrollView = (ScrollView)findViewById(R.id.viewStatusDetailSV);  
  
scrollView.setOnTouchListener(new OnTouchListener() {  
  
    @Override  
    public boolean onTouch(View v, MotionEvent event) {  
        if (event.getAction() == MotionEvent.ACTION_UP) {  
            /** 滑动到顶部和底部做处理 **/  
            if (scrollView.getScrollY() == 0) {  
                Toast.makeText(context, "到达顶部了", Toast.LENGTH_SHORT).show();  
            } else if (scrollView.getScrollY() - scrollViewY < 2 && scrollView.getScrollY() >= scrollViewY) {  
                Toast.makeText(context, "到达底部了" + scrollView.getScrollY(), Toast.LENGTH_SHORT).show();  
            } else {  
                scrollViewY = scrollView.getScrollY();  
            }  
             //添加处理的代码
          }  
        return false;  
    }  
});

 

分享到:
评论

相关推荐

    webview随scrollview一起滑动

    5. **监听ScrollView的滑动事件**:通过监听ScrollView的滑动事件,手动调整WebView的位置,使其跟随ScrollView滑动。 ```swift scrollView.delegate = self // 实现UIScrollViewDelegate方法 func ...

    Android ScrollView嵌套横向滑动控件时冲突问题

    前言:今天在开发的时候遇到这样的问题,最外层是ScrollView,里面嵌套了一个横向滑动的日历控件,在滑动日历的时候很卡顿。看到这种问题,自然而然的就会想到scrollview和其他可滑动控件的冲突问题。 解决思路 用户...

    ScrollView嵌套ScrollView滑动

    当一个ScrollView内嵌套另一个ScrollView时,可能会遇到一些滑动事件处理的问题。这种情况下,我们需要理解Android事件分发机制以及如何解决嵌套滚动冲突。 首先,我们要明白Android的事件分发机制,它主要包括三个...

    android 解决ScrollView和listView嵌套冲突问题(保证在ScrollView中滑动listView只响应listView的滑动)

    在Android开发中,ScrollView和ListView的嵌套是一个常见的需求,但同时也伴随着许多技术挑战,主要问题在于两者都具有滚动功能,导致冲突,使得用户在滚动时可能会遇到不确定的行为。本篇将详细介绍如何解决这种...

    android完美解决listView与ScrollView滑动冲突

    总之,解决Android中的ListView与ScrollView滑动冲突问题,需要理解事件分发机制,以及掌握各种滚动控件的特性和API。通过合理的设计和编程,可以实现两者无缝协作,提供流畅的用户体验。在提供的压缩包文件...

    Android中自定义ListView,解决scrollview嵌套listview 滑动事件冲突

    总之,解决ScrollView与ListView滑动事件冲突的关键在于正确处理触摸事件的分发,确保每个组件都能在合适的时候接收并处理滑动事件。通过自定义组件或者利用现有组件的特性,我们可以构建出更加符合用户体验的界面。...

    新版闪记ScrollView垂直滑动框架

    新版闪记ScrollView垂直滑动框架就解决了这个问题,它不仅提供了基础的滚动功能,还增强了性能和用户体验。 首先,这个框架强调的是“流畅”的滑动体验。这意味着它通过优化滚动算法,确保了在各种设备和屏幕尺寸上...

    Scrollview和gridview同时使用时滑动解决方法

    Scrollview和gridview同时使用的时候,Scrollview滑动gridview不滑动,Gridview滑动Scrollview不滑动!

    解决scrollView和listview滚动冲突,实现listview滑动到顶端和底部之后还能拖拽一定的距离,松开后返回

    通过以上步骤,我们可以在不牺牲ScrollView和ListView功能的前提下,实现类似微信聊天页面的流畅滚动体验。这个过程可能需要对Android的触摸事件处理和滚动机制有深入理解,但通过实践,开发者可以更好地控制和优化...

    Super ScrollView无线滑动列表.rar

    Super ScrollView插件则解决了这个问题,通过动态加载和卸载内容,实现了真正的无限滚动效果,只加载用户当前可视范围内的内容,提高了性能。 这个插件的主要特点包括: 1. **无限滚动**:通过智能地加载和卸载...

    ViewDragHelper自定义侧滑菜单(解决与ScrollView的滑动事件冲突)

    接下来,我们关注的是如何解决"与ScrollView的滑动事件冲突"问题。当侧滑菜单与ScrollView或NestedScrollView等可滚动视图一起使用时,可能会遇到滑动冲突。为了解决这个问题,我们需要在处理滑动事件时进行协调: ...

    ScrollView嵌套ListVIew两者之间滑动问题

    总之,处理ScrollView与ListView之间的滑动冲突是Android开发中的常见挑战,理解滑动事件的处理流程和利用提供的API或自定义逻辑,是解决问题的关键。通过以上所述的方法,开发者能够有效地解决这种冲突,实现流畅的...

    android ScrollView弹性控件,横向和纵向滑动

    然而,标准的ScrollView并不支持弹性滑动效果,即在滑动到边界时产生回弹的效果。这通常是通过第三方库或者自定义控件来实现的,比如我们这里提到的"ReboundScrollView"。 ReboundScrollView是一个仿照Facebook开源...

    ScrollView嵌套ListView滑动冲突的解决方法

    当需要在一个界面中同时展示大量数据和一些额外内容时,可能会将ListView嵌套在ScrollView中,但这种做法往往会导致滑动冲突的问题,即用户难以确定是想滚动整个ScrollView还是单独滑动ListView。本文将深入探讨这个...

    android ScrollView嵌套demo

    总之,解决ScrollView嵌套问题需要对Android的触摸事件处理机制有深入的理解,同时掌握正确的处理方法。通过学习和实践这个demo,开发者可以更好地掌握在Android应用中实现复杂滚动布局的技巧。

    水平 横线 listView 嵌套在 ScrollView中 已经处理滑动问题

    这样的布局设计可以为用户提供丰富的交互体验,但同时也带来了一些技术挑战,主要是如何正确处理滑动冲突,即ScrollView和HorizontalListView之间的滑动同步问题。本文将深入探讨这个问题,并提供解决方案。 首先,...

    ScrollView嵌套GridView不能滚动的问题解决方案

    ScrollView嵌套GridView不能滚动的问题解决方案 在 Android 开发中,我们经常会遇到 ScrollView 嵌套 GridView 的问题,导致页面不能滚动的问题。这个问题的出现是因为 ScrollView 和 GridView 都带有滚动条,当...

    android scrollview 滑动指定位置

    本文将详细讲解如何使ScrollView滑动到指定的位置,以便于实现更丰富的交互体验。首先,我们需要理解ScrollView的基本工作原理。 ScrollView本质上是一个可以包含单个直接子视图的垂直线性布局。它会根据需要自动...

    ScrollView与ListView的滑动冲突

    通过上述介绍,我们可以看出解决ScrollView与ListView/GridView之间的滑动冲突问题主要涉及到两种方法:一是通过编程方式手动设置ListView/GridView的高度;二是使用支持嵌套滑动的`NestedScrollView`。这两种方法各...

    局部滑动的scrollview ios

    标题提到的"局部滑动的scrollview"正是解决这一问题的一种方法。 首先,我们要理解如何在iOS中实现局部滑动。通常,当一个UIScrollView包含多个子视图,并且这些子视图的尺寸超出了父视图的显示范围,用户可以通过...

Global site tag (gtag.js) - Google Analytics