Android|Android 开发艺术探索笔记(九) 之 View 的滑动
View 的滑动主要有 3 种方式:
- 1.通过 View 本身的
scrollTo/scrollBy
方法实现滑动
- 2.通过动画给 View 添加平移效果实现滑动
- 3.通过改变 View 的 LayoutParams 使得 View 重新布局实现滑动
在这里先介绍两个参数:
mScrollX 和 mScrollY
(单位:像素)。【Android|Android 开发艺术探索笔记(九) 之 View 的滑动】mScrollX = View 的左边框 - 内容的左边缘
mScrollY = View 的上边框 - 内容的上边缘
所以,mScrollX >0 表示 View 的内容逆着 X 轴(向左)移动,<0 表示顺着 X 轴(向右)移动(因为 View 这个框不会移动,scrollTo/scrollBy 只能改变View 内容的位置);同理,mScrollY >0 表示 View 的内容逆着 Y 轴(向上)移动,<0 表示顺着 Y 轴(向下)移动。
2、使用动画
我们通过动画来平移一个 View ,主要是操作 View 的
translationX
和 translationY
属性。注意,View 动画是对 View 的影像做操作,它并没有真正改变 View 的位置信息,也就是 View 动画后的 x、y、宽、高等属性并没有改变,所以响应事件仍在原来的位置。3、改变布局参数
就是改变 LayoutParams。不过注意,这个 LayoutParams 是针对于父容器而言的,假如父容器是
LinearLayout
,那么获取 View 的 LayoutParams 就是:LinearLayout.LayoutParams p = (LinearLayout.LayoutParams) view.getLayoutParams();
之后修改 p 的边距或者宽高就能改变 View 的位置。
4、总结
- scrollTo/scrollBy :操作简单,适合对 View 内容的滑动
- 动画 :操作简单,适合没有用于交互的 View 和实现复杂的动画效果
- 改变布局参数 :操作稍微复杂,适用于有交互的 View
推荐阅读
- android第三方框架(五)ButterKnife
- 深入理解Go之generate
- Android中的AES加密-下
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 广角叙述|广角叙述 展众生群像——试析鲁迅《示众》的展示艺术
- 带有Hilt的Android上的依赖注入
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库