zoukankan      html  css  js  c++  java
  • android Gallery滑动不流畅的解决

    import android.content.Context;
    import android.util.AttributeSet;
    import android.view.KeyEvent;
    import android.view.MotionEvent;
    import android.widget.Gallery;
    
    @SuppressWarnings("deprecation")
    public class MyGallery extends Gallery {
        
        public MyGallery(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
            // TODO Auto-generated constructor stub
        }
        
        public MyGallery(Context context, AttributeSet attrs) {
            super(context, attrs);
            // TODO Auto-generated constructor stub
        }
        
        public MyGallery(Context context) {
            super(context);
            // TODO Auto-generated constructor stub
        }
        
        // 减慢滑动速度
        private boolean isScrollingLeft(MotionEvent e1, MotionEvent e2) {
            return e2.getX() > e1.getX();
        }
        
        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
            // TODO Auto-generated method stub
            // return super.onFling(e1, e2, 0, velocityY);//方法一:只去除翻页惯性
            // return false;//方法二:只去除翻页惯性 注:没有被注释掉的代码实现了开始说的2种效果。
            int kEvent;
            if (isScrollingLeft(e1, e2)) {
                // Check if scrolling left
                kEvent = KeyEvent.KEYCODE_DPAD_LEFT;
            }
            else {
                // Otherwise scrolling right
                kEvent = KeyEvent.KEYCODE_DPAD_RIGHT;
            }
            onKeyDown(kEvent, null);
            return true;
        }
    }

    重写Gallery的几个方法就可以解决了

  • 相关阅读:
    WordPress 开源文章采集插件 胖鼠采集
    什么是Meta标签? 哪些Meta标签对搜索引擎SEO优化有作用?
    webpack简单原理及用法
    Vue工作原理小结
    angularjs工作原理解析
    雅虎工程师提供的CSS初始化示例代码
    移动端rem用法总结
    前端开发兼容问题大全
    GBDT原理详解
    代码实战之AdaBoost
  • 原文地址:https://www.cnblogs.com/crazywenza/p/3341279.html
Copyright © 2011-2022 走看看