Java 我想检测滚动结束事件
我想检测scrollView的滚动结束事件。 首先,我实现了OnCrollChange方法,并尝试侦听一些值,如果它们可以帮助我了解滚动的结束。 谢谢你帮助我Java 我想检测滚动结束事件,java,android,android-studio,scroll,scrollview,Java,Android,Android Studio,Scroll,Scrollview,我想检测scrollView的滚动结束事件。 首先,我实现了OnCrollChange方法,并尝试侦听一些值,如果它们可以帮助我了解滚动的结束。 谢谢你帮助我 scrollView.setOnScrollChangeListener(新视图.OnScrollChangeListener(){ @凌驾 公共void onScrollChange(视图视图、int i、int i1、int i2、int i3){ Toast.makeText(getApplicationContext(),“在滚
scrollView.setOnScrollChangeListener(新视图.OnScrollChangeListener(){
@凌驾
公共void onScrollChange(视图视图、int i、int i1、int i2、int i3){
Toast.makeText(getApplicationContext(),“在滚动中------->“+i+”“+i1+”“+i2+”“+i3,Toast.LENGTH_SHORT”).show();
阴影视图.setBackgroundResource(R.drawable.shadow);
如果((i3==0)){
Toast.makeText(getApplicationContext(),“equality------------------------------------>”,Toast.LENGTH\u SHORT.show();
阴影视图.挫折背景资源(R.drawable.trans);
}
否则{
//Toast.makeText(getApplicationContext(),“NO----------------------------------------->”,Toast.LENGTH\u SHORT.show();
}
}
});代码>这将有所帮助
scrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
@Override
public void onScrollChanged() {
if (scrollView != null) {
if (scrollView.getChildAt(0).getBottom() <= (scrollView.getHeight() + scrollView.getScrollY())) {
//scroll view is at bottom
} else {
//scroll view is not at bottom
}
}
}
});
scrollView.getViewTreeObserver().addOnScrollChangedListener(新的ViewTreeObserver.OnScrollChangedListener(){
@凌驾
public void onScrollChanged(){
if(滚动视图!=null){
if(scrollView.getChildAt(0.getBottom()修改onScrollChanged
方法,如下所示
@Override
public void onScrollChanged(View view, int i, int i1, int i2, int i3){
View view = (View) getChildAt(getChildCount()-1);
int delta = (view.getBottom()-(getHeight()+getScrollY()));
if(delta == 0){
// You have reached bottom of the scroll view
}
}
谢谢大家。
经过一些测试后,我发现int i、int i1、int i2的值在实时时等于0,所以它解决了我的问题。
我现在不会使用你的建议,但我只是通过阅读从中了解到一些重要的概念