Android 自定义View 实现垂直滑动页

Google官方提供的ViewPager只能左右滑动,据说这个控件正在开发中,但是有时候我们也需要一种垂直滑动的页面。前几天我再github上下载了一个垂直Viewpager的源码,是一个国外大神写的,很遗憾的是我并没有看懂,或者说我没有耐下心来看。那个大神是重写的ViewPager类,而我这次通过重写ViewGroup也近似实现了垂直滑动的效果,但是功能并没有国外那个那么强大。

思路很简单,就是重写ViewGroup,既然是滑动页,那就在触摸事件中做文章,判断手指滑动的距离,然后根据滑动意向去设置滑动偏移量,所以有了思路,就用实际代码实现。

public class VerticalViewpager extends ViewGroup {

	int mScreenHeight;
	
	int mLastY;
	int mStart;
	int mEnd;
	
	Scroller mScroller;//滚动类
	
	private boolean isScrolling = false;
	
	private VelocityTracker mTracker;//加速度,用于判断是否用户希望滑动到下一页。
        //可以这么理解,有时候我们滑的很慢,这需要判断滑动超过一定距离后才滑到下一页,但是有时候不需要超过一定距离,我希望滑到下一页,滑动的很快
	public VerticalViewpager(Context context, AttributeSet attrs) {
		super(context, attrs);
		// TODO Auto-generated constructor stub
		WindowManager manager = (WindowManager) context.getSystemService(Act
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值