Android中View的滑动方式

View的滑动

View滑动有三种方式:

  1. View本身提供的scrollTo和scrollBy方法
  2. 通过动画给View添加平移效果实现滑动
  3. 改变View的LayoutParams是的View重新布局实现滑动
使用scrollTo和scrollBy方式

scrollTo和scrollBy只能改变View内容的位置不能改变view的位置(只能将view的内容滑动,而不能将view本身进行移动)

从源码可以看到scrollBy最后还是会调用scrollTo方法的

scrollBy实现了基于当前位置的相对滑动即在滑动到当前位置加上相应的偏移量,scrollTo实现了基于所传递参数的滑动,根据传递的参数确定滑到那个位置

在滑动的过程中,有两个重要的参数mScrollX和mScrollY,这个参数的值通过getScrollX和getScrollY方法分别得到。当view的左边缘在view内容的左边缘的右边时,mScrollX是正值,反之为负值;当view的上边缘在view内容的上边缘的下边是,mScrollY为正值,反之为负值。


使用动画

使用动画方式来移动view的translationX和translationY属性(translationX和translationY默认初始值为0,其值为相对于原来位置的偏移量)。

使用动画方式既可以采用传统的view动画,即补间动画,也可以采用属性动画,不过属性动画是android3.0之后才有的,android3.0之前是无法使用属性动画的,这个时候可以通过使用动画兼容库nineoldandroids来实现属性动画,不过此时实现的属性动画的本质仍然是传统的view动画,

传统的view动画即补间动画是不能真正改变view的位置的,平移后的只是view的影像而已,但是属性动画却可以。


改变布局参数

重新设置一个view的LayoutParams参数即可


总结:
  1. scrollTo/scrollBy:操作简单,适合对view的内容滑动
  2. 动画:操作简单,主要适用于没有交互的view和实现复杂的动画效果
  3. 改变布局参数:操作稍微复杂,适用于有交互的view
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值