带有居中效果的HorizontalScrollView使用说明

一、简介

LeGalleryLikeHorizontalScrollview实现了滚动后使其中包含的childview居中的效果。该类会自动根据childview的宽度实现滚动后居中效果。

该类直接继承自android.widget.HorizontalScrollView.

二、效果和Demo

LeHorizontalScrollViewDemo(编译后push到 /system/app 下)

demo.mp4

这里是多任务管理应用此控件的演示:

taskcontrol.mp4

三、相关文件

/frameworks/base/core/leui/src/com/letv/leui/widget/LeGalleryLikeHorizontalScrollView.java

/frameworks/base/core/leui/src/com/letv/leui/widget/MotionHolder.java

/frameworks/base/core/leui/src/com/letv/leui/widget/TouchEventListener.java

四、使用说明

1.设置了滑动监听接口,调用public void setOnScrollListener(OnScrollListener onScrollListener)方法设置监听器。

2.可以调用public void flingToPage(int page)使控件快速滑动到某个childview,传入参数为childview的序号。

3.提供了让某个Item居中的接口setCenterPage

public void setCenterPage(int centerPage)

4.提供了初始化时预先偏置的接口

public void setNeedOffset(boolean needOffset)

五、新特性:两个view同步滑动

1、实现了同一组view根据同样的手势动作并结合自己item的宽度同步地滑动,最终停留在相同index的item处且居中显示。

2、使用注意

2.1、需要实现TouchEventListener接口,该接口作用有两个,一是登记需要同步滑动的LeGalleryLikeHorizontalScrollView对象,二是监听并分发某一个view上的手势事件到其他view,从而控制其他view同步地滑动。具体实现范例可以完全参照demo工程。

2.2、需要在初始化对象时,必须且只需将其中一个view设置成参照物,即设置public boolean isStandardView = true;具体例子参见Demo。

你可能感兴趣的:(带有居中效果的HorizontalScrollView使用说明)