View的滑动

常见的View滑动方式:

  • 通过View本身提供的scrollTo/scrollBy方法实现滑动
  • 通过动画实现View的滑动
  • 通过改变View的LayoutParams使View重新布局实现滑动

1.使用scrollTo/scrollBy

scrollBy实现了基于当前位置的相对滑动,scrollTo实现了基于所传递参数的绝对滑动,scrollBy实际上也是调用了scrollTo,这点可以查看源码
scrollTo/scrollBy只能改变View内容的位置,不能改变View在布局中的位置
滑动过程中View内部的两个属性mScrollX和mScrollY的改变规则:这两个属性可以通过getScrollX和getScrollY来获得。在滑动过程中mScrollX总等于View的左边缘和View内容左边缘在水平方向上的距离,mScrollY总等于View上边缘和View内容上边缘在数竖直方向上的距离

2.使用动画

使用动画滑动View主要是操作View的translationX和translationY属性
注意:如果采用属性动画,要想兼容3.0以下,需要采用开源动画库nineoldandroids,view动画是对View的影像做操作,并不能真正改变View的位置参数

3.改变布局参数

改变布局参数即改变LayoutParams,重新设置一个View的LayoutParams:
MarginLayoutParams params = (MarginLayoutParams )btn.getLayoutParams(); params.width += 100; params.leftMargin += 100; btn.requestLayout(); //或者 btn.setLayoutParams(params)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容