`
mfcai
  • 浏览: 408729 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

怎么判断android中ScrollView滑动到了最底部?

 
阅读更多
滚动到顶部判断:
getScrollY() == 0
滚动到底部判断:
View childView = getChildAt(0);
childView.getMeasuredHeight() <= getScrollY() + getHeight();
其中getChildAt表示得到ScrollView的child View
childView.getMeasuredHeight()表示得到子View的高度,
getScrollY()表示得到y轴的滚动距离,
getHeight()为scrollView的高度
getScrollY()达到最大时加上scrollView的高度就的就等于它内容的高度了.
判断滑动位置的地方,可以有两种方式:
1、实现OnTouchListener来监听是否滑动到最底部
OnTouchListener onTouchListener=new OnTouchListener(){ 
            @Override 
            public boolean onTouch(View v, MotionEvent event) {
                switch (event.getAction()) {
                    case MotionEvent.ACTION_UP:
                        if (childView  != null && childView .getMeasuredHeight() <= getScrollY() + getHeight()) {
                        } else if (getScrollY() == 0) {
                        }
                    break;
                }
                return false;
            }
}

2、重写ScrollView的onScrollChanged的方法,在onScrollChanged函数中判断
public class myScrollView extends ScrollView
{
    public myScrollView(Context context)
    {
        super(context);
    }
    public myScrollView(Context context, AttributeSet attributeSet)
    {
        super(context,attributeSet);
    }

    @Override
    protected void onScrollChanged(int l, int t, int oldl, int oldt)
    {
        View view = (View)getChildAt(getChildCount()-1);
        int d = view.getBottom();
        d -= (getHeight()+getScrollY());
        if(d==0)
        {
            //you are at the end of the list in scrollview
            //do what you wanna do here
        }
        else
            super.onScrollChanged(l,t,oldl,oldt);
    }
}
本文欢迎转载,转载请注明出处与作者
出处:http://blog.sina.com.cn/staratsky
作者:流星

android开发群,分享开发中问题的解决办法和经验,欢迎大家的加入,群号:293872059
分享到:
评论

相关推荐

    判断ScrollView是否滑动到最下边或者最上边

    这个代码可以判断ScrollView是否滑动到了最下边或者最上边,同理,HorizontalScrollView也可以判断是否滑动到最右边或者最左边。使用方法就是直接用这个自定义控件并实现里面的OnScrollListener就可以了,会自动复写...

    Android ScrollView自动滑动

    2. 用户交互:当自动滑动到最底部时,确保用户仍能手动滚动。可以监听ScrollView的滑动事件,防止不必要的自动滑动。 3. 兼容性:测试不同设备和Android版本,确保自动滑动功能在各种情况下都能正常工作。 总结,...

    Android中控制和禁止ScrollView自动滑动到底部的方法

    在某些情况下,比如ScrollView嵌套了GridView或ListView等可滚动的控件,当数据加载或刷新时,ScrollView可能会自动滚动到最底部。这是因为在加载过程中,子视图(childView)可能获得了焦点并自动滚动。为了解决这...

    scrollview的滑动监听底部以及横向滑动

    总结起来,这个ScrollviewBottomDemo主要展示了如何在ScrollView中嵌套HorizontalScrollView以实现双向滚动,并通过监听滚动事件来判断滚动状态,从而实现底部和横向滑动的特定功能。这对于Android开发者来说,是...

    Android中使用ScrollView实现滑动到底部显示加载更多

    总之,Android中使用ScrollView实现滑动到底部显示加载更多的功能,主要是通过监听ScrollView的触摸事件,结合getMeasuredHeight和getHeight来判断是否达到底部,然后根据判断结果执行相应的操作。这个过程涉及到对...

    Android中自定义ScrollView的滑动监听事件

    - 滑动监听可能需要处理边缘滑动(例如,当滚动到底部或顶部时),这需要额外的逻辑判断。 - 注意滑动事件可能会与其他手势识别冲突,如点击事件,需要合理地处理这些事件。 通过以上步骤,我们可以成功地在...

    android scrollView 拉到最低和最顶端 反弹效果

    在Android开发中,ScrollView是常用的...总的来说,实现Android ScrollView的拉到最低和最顶端的反弹效果,主要涉及滚动监听、动画控制和视图操作。通过自定义监听器和动画,开发者可以为用户带来更丰富的交互体验。

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

    本文将详细探讨如何解决这种冲突,并实现类似微信聊天页面中列表滑动到顶部或底部后还能继续拖拽一段距离,松手后自动回弹的效果。 首先,我们需要理解ScrollView和ListView的滚动机制。ScrollView是一个可以包含单...

    Android-滑动响应工具类目前支持RecyclerView和ScrollView的滑动响应

    2. **ScrollView滑动响应**: ScrollView是Android中的基础滚动视图,可以包含一个或多个子视图。ScrollRespondUtils同样支持ScrollView,使得开发者可以轻松地添加滑动事件监听,例如在ScrollView滚动到底部时触发...

    ScrollView滑动悬停效果

    ScrollView滑动悬停效果是指在ScrollView滚动过程中,某个特定视图(如一个按钮或图像)始终保持在屏幕可见区域内,即使ScrollView本身在滚动。这种效果可以增加用户体验,因为它使用户能够始终关注到关键元素,而...

    android 可回弹ScrollView

    在Android开发中,为了提供与iOS类似的用户体验,我们经常需要实现一个可回弹的ScrollView,即当用户滑动到ScrollView的顶部或底部时,ScrollView会有一种“弹力”效果,好似可以继续滚动,但最终会回弹到原来的位置...

    Android_ScrollView.zip_android_android scrollview_anriod viewfil

    本资料包"Android_ScrollView.zip"提供了关于Android ScrollView的详细用法,以及如何在实际项目中实现滑动效果的实例代码。 首先,ScrollView的基本使用方法是将其作为父视图,然后将需要滚动的布局(如...

    android ScrollView和ListView固定底部

    在Android开发中,ScrollView和ListView是两种常用的布局控件,它们各自有特定的用途,但有时在实际应用中,我们可能需要将它们结合使用,以实现特定的界面效果,比如在滚动时保持底部元素固定可见。这篇博文主要...

    android 中 ViewPager 与scrollView 冲突的解决

    在这些方法中,你可以根据当前滑动方向判断是否应该交给ScrollView处理滑动事件。例如,如果滑动方向是垂直的,就将事件传递给ScrollView。 ```java public class CustomViewPager extends ViewPager { public ...

    Android中实现监听ScrollView滑动事件

    通过这种方式,你可以根据需要在`onScrollChanged()`回调中添加各种业务逻辑,例如判断是否滚动到底部、顶部,或者在特定的滚动范围内执行特定操作。这为Android应用提供了更大的灵活性,帮助开发者更好地控制和响应...

    android-滑动回弹效果的scrollview

    在Android应用开发中,滑动回弹效果是一个常见的交互元素,可以增强用户的操作体验。`PullScrollView` 是一种自定义的视图,它基于原生的 `ScrollView` 进行了扩展,添加了滑动回弹的效果。这种效果通常会在用户停止...

    Android中ScrollView实现滑动距离监听器的方法

    通过这样的方式,即使在API 23以下的版本,我们也能够实现对ScrollView滑动距离的监听。这种自定义组件的方式在Android开发中很常见,可以让我们灵活地扩展系统提供的控件功能,以满足项目中的特殊需求。

    android 能上下弹性拉动的ScrollView

    3. **添加弹性效果**:当用户滑动到ScrollView的顶部或底部时,如果继续滑动,我们可以根据计算出的速度和距离,使用动画来模拟弹性效果。这可以通过设置一个逐渐减慢的动画,使得滚动条在达到边界后逐渐停止,而...

    Android滑动ScrollView时使导航栏停留的效果(仿ios的tableview分区)

    在Android开发中,为了提供与iOS应用类似的用户体验,有时我们需要实现一种效果,即当用户滑动ScrollView时,导航栏保持在屏幕顶部不动,类似于iOS中的TableView分区。这种效果可以增加应用的可操作性和视觉吸引力。...

Global site tag (gtag.js) - Google Analytics