1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > android scrollview 滚动到底部判断 怎么判断android中ScrollView滑动到了最底部?

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

时间:2020-11-17 04:09:38

相关推荐

android scrollview 滚动到底部判断 怎么判断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);

}

}

本文欢迎转载,转载请注明出处与作者

出处:/staratsky

作者:流星

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。