滚动到顶部判断:
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是否滑动到了最下边或者最上边,同理,HorizontalScrollView也可以判断是否滑动到最右边或者最左边。使用方法就是直接用这个自定义控件并实现里面的OnScrollListener就可以了,会自动复写...
2. 用户交互:当自动滑动到最底部时,确保用户仍能手动滚动。可以监听ScrollView的滑动事件,防止不必要的自动滑动。 3. 兼容性:测试不同设备和Android版本,确保自动滑动功能在各种情况下都能正常工作。 总结,...
在某些情况下,比如ScrollView嵌套了GridView或ListView等可滚动的控件,当数据加载或刷新时,ScrollView可能会自动滚动到最底部。这是因为在加载过程中,子视图(childView)可能获得了焦点并自动滚动。为了解决这...
总结起来,这个ScrollviewBottomDemo主要展示了如何在ScrollView中嵌套HorizontalScrollView以实现双向滚动,并通过监听滚动事件来判断滚动状态,从而实现底部和横向滑动的特定功能。这对于Android开发者来说,是...
总之,Android中使用ScrollView实现滑动到底部显示加载更多的功能,主要是通过监听ScrollView的触摸事件,结合getMeasuredHeight和getHeight来判断是否达到底部,然后根据判断结果执行相应的操作。这个过程涉及到对...
- 滑动监听可能需要处理边缘滑动(例如,当滚动到底部或顶部时),这需要额外的逻辑判断。 - 注意滑动事件可能会与其他手势识别冲突,如点击事件,需要合理地处理这些事件。 通过以上步骤,我们可以成功地在...
在Android开发中,ScrollView是常用的...总的来说,实现Android ScrollView的拉到最低和最顶端的反弹效果,主要涉及滚动监听、动画控制和视图操作。通过自定义监听器和动画,开发者可以为用户带来更丰富的交互体验。
本文将详细探讨如何解决这种冲突,并实现类似微信聊天页面中列表滑动到顶部或底部后还能继续拖拽一段距离,松手后自动回弹的效果。 首先,我们需要理解ScrollView和ListView的滚动机制。ScrollView是一个可以包含单...
2. **ScrollView滑动响应**: ScrollView是Android中的基础滚动视图,可以包含一个或多个子视图。ScrollRespondUtils同样支持ScrollView,使得开发者可以轻松地添加滑动事件监听,例如在ScrollView滚动到底部时触发...
ScrollView滑动悬停效果是指在ScrollView滚动过程中,某个特定视图(如一个按钮或图像)始终保持在屏幕可见区域内,即使ScrollView本身在滚动。这种效果可以增加用户体验,因为它使用户能够始终关注到关键元素,而...
在Android开发中,为了提供与iOS类似的用户体验,我们经常需要实现一个可回弹的ScrollView,即当用户滑动到ScrollView的顶部或底部时,ScrollView会有一种“弹力”效果,好似可以继续滚动,但最终会回弹到原来的位置...
本资料包"Android_ScrollView.zip"提供了关于Android ScrollView的详细用法,以及如何在实际项目中实现滑动效果的实例代码。 首先,ScrollView的基本使用方法是将其作为父视图,然后将需要滚动的布局(如...
在Android开发中,ScrollView和ListView是两种常用的布局控件,它们各自有特定的用途,但有时在实际应用中,我们可能需要将它们结合使用,以实现特定的界面效果,比如在滚动时保持底部元素固定可见。这篇博文主要...
在这些方法中,你可以根据当前滑动方向判断是否应该交给ScrollView处理滑动事件。例如,如果滑动方向是垂直的,就将事件传递给ScrollView。 ```java public class CustomViewPager extends ViewPager { public ...
通过这种方式,你可以根据需要在`onScrollChanged()`回调中添加各种业务逻辑,例如判断是否滚动到底部、顶部,或者在特定的滚动范围内执行特定操作。这为Android应用提供了更大的灵活性,帮助开发者更好地控制和响应...
在Android应用开发中,滑动回弹效果是一个常见的交互元素,可以增强用户的操作体验。`PullScrollView` 是一种自定义的视图,它基于原生的 `ScrollView` 进行了扩展,添加了滑动回弹的效果。这种效果通常会在用户停止...
通过这样的方式,即使在API 23以下的版本,我们也能够实现对ScrollView滑动距离的监听。这种自定义组件的方式在Android开发中很常见,可以让我们灵活地扩展系统提供的控件功能,以满足项目中的特殊需求。
3. **添加弹性效果**:当用户滑动到ScrollView的顶部或底部时,如果继续滑动,我们可以根据计算出的速度和距离,使用动画来模拟弹性效果。这可以通过设置一个逐渐减慢的动画,使得滚动条在达到边界后逐渐停止,而...
在Android开发中,为了提供与iOS应用类似的用户体验,有时我们需要实现一种效果,即当用户滑动ScrollView时,导航栏保持在屏幕顶部不动,类似于iOS中的TableView分区。这种效果可以增加应用的可操作性和视觉吸引力。...