How can I limit fling in Android gallery to just one item per fling?

前端 未结 6 1509
半阙折子戏
半阙折子戏 2020-11-30 03:43

I have a gallery with several full screen images. I want to limit the fling gesture to only advance one image at a time (like the HTC Gallery app). What\'s the right/easiest

6条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-11-30 04:07

    code example to answer the question:

    public class SlowGallery extends Gallery
    {
    
    
        public SlowGallery(Context context, AttributeSet attrs, int defStyle)
        {
            super(context, attrs, defStyle);
        }
    
        public SlowGallery(Context context, AttributeSet attrs)
        {
            super(context, attrs);
        }
    
        public SlowGallery(Context context)
        {
            super(context);
        }
    
    
        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
        {
    
            //limit the max speed in either direction
            if (velocityX > 1200.0f)
            {
                velocityX = 1200.0f;
            }
            else if(velocityX < -1200.0f)
            {
                velocityX = -1200.0f;
            }
    
            return super.onFling(e1, e2, velocityX, velocityY);
        }
    
    }
    

提交回复
热议问题