Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 三星Galaxy S2 2.3.5没有调用overScrollBy()大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
似乎三星禁止他们的过度滚动(可能是由于苹果套装).

我有一个扩展ScrollView和覆盖的视图的实现

protected Boolean overScrollBy(int deltaX,int deltaY,int scrollX,int scrollY,int scrollRangeX,int scrollRangeY,int maxOverScrollX,int maxOverScrollY,Boolean isTouchEvent)
    {
     ...
     return super.overScrollBy(deltaX,deltaY,scrollX,scrollY,scrollRangeX,scrollRangeY,metrics.widthPixels,isTouchEvent);
    }

在每个其他设备上(姜饼和当然),当滚动器到达它结束时调用overScrollBy,并且用户实际上可以过度滚动视图).

在Android 2.3.5上,三星实施了一种完全禁用过度滚动的机制(不仅仅是他们的过度滚动实现,还包括Android的实现),每次用户尝试过度滚动时,都会打印以下LogCat事件:

02-13 16:02:34.230: D/BounceScrollRunnableDefault(15783): run(),TimeFraction=0.5225,mBounceExtent=7.273352

有没有办法解锁三星在那里做的事情?或者也许是另一种创建过度滚动的方法

解决方法

我刚遇到同样的问题,最后提出了以下自定义过卷检测:
listView.setOnTouchListener(new OnTouchListener() {

        private static final float OVERSCROLL_THRESHOLD_IN_PIXELS = 70;

        private float downY;

        @Override
        public Boolean onTouch(View v,MotionEvent event) {
            int firstVisibleItem = listView.getFirstVisiblePosition();
            int @R_864_10586@lItemCount = listView.getCount();
            int visibleItemCount = listView.getChildCount();
            Boolean onTop = firstVisibleItem == 0 && listView.getChildAt(0) != null && listView.getChildAt(0).getTop() == 0;
            Boolean onBottom = firstVisibleItem + visibleItemCount == @R_864_10586@lItemCount && listView.getChildAt(visibleItemCount-1).getBottom() == listView.getHeight();

            if(onTop || onBottom) {
                switch(event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    downY = event.getY();
                    break;
                case MotionEvent.ACTION_MOVE:
                    float deltaY = event.getY() - downY;
                    if(onTop && deltaY > OVERSCROLL_THRESHOLD_IN_PIXELS) {
                        // Top overscroll
                    }
                    if(onBottom && -deltaY > OVERSCROLL_THRESHOLD_IN_PIXELS) {
                        // Bottom overscroll
                    }
                    break;
                }
            }

            return false;
        }
    });

大佬总结

以上是大佬教程为你收集整理的android – 三星Galaxy S2 2.3.5没有调用overScrollBy()全部内容,希望文章能够帮你解决android – 三星Galaxy S2 2.3.5没有调用overScrollBy()所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。