android – 三星Galaxy S2 2.3.5没有调用overScrollBy()

android – 三星Galaxy S2 2.3.5没有调用overScrollBy(),第1张

概述似乎三星禁止他们的过度滚动(可能是由于苹果套装). 我有一个扩展ScrollView和覆盖的视图的实现 protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY,int maxOverScrollX, int maxOverS 似乎三星禁止他们的过度滚动(可能是由于苹果套装).

我有一个扩展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 totalitemCount = ListVIEw.getCount();            int visibleItemCount = ListVIEw.getChildCount();            boolean ontop = firstVisibleItem == 0 && ListVIEw.getChildAt(0) != null && ListVIEw.getChildAt(0).gettop() == 0;            boolean onBottom = firstVisibleItem + visibleItemCount == totalitemCount && 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()所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1138391.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存