Android 开发艺术探索笔记(九) 之 View 的滑动

View 的滑动主要有 3 种方式:

  • 1.通过 View 本身的 scrollTo/scrollBy 方法实现滑动

  • 2.通过动画给 View 添加平移效果实现滑动

  • 3.通过改变 View 的 LayoutParams 使得 View 重新布局实现滑动

1、使用 scrollTo/scrollBy

在这里先介绍两个参数:mScrollX 和 mScrollY(单位:像素)。

mScrollX = View 的左边框 - 内容的左边缘

mScrollY = View 的上边框 - 内容的上边缘

所以,mScrollX >0 表示 View 的内容逆着 X 轴(向左)移动,<0 表示顺着 X 轴(向右)移动(因为 View 这个框不会移动,scrollTo/scrollBy 只能改变View 内容的位置);同理,mScrollY >0 表示 View 的内容逆着 Y 轴(向上)移动,<0 表示顺着 Y 轴(向下)移动。

2、使用动画

我们通过动画来平移一个 View ,主要是操作 View 的 translationXtranslationY 属性。注意,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 开发艺术探索笔记(九) 之 View 的滑动)