一、簡(jiǎn)介
LeGalleryLikeHorizontalScrollview實(shí)現(xiàn)了滾動(dòng)后使其中包含的childview居中的效果障般。該類(lèi)會(huì)自動(dòng)根據(jù)childview的寬度實(shí)現(xiàn)滾動(dòng)后居中效果。
該類(lèi)直接繼承自android.widget.HorizontalScrollView.
二藐石、效果和Demo
LeHorizontalScrollViewDemo(編譯后push到 /system/app 下)
這里是多任務(wù)管理應(yīng)用此控件的演示:
三定拟、相關(guān)文件
/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
四青自、使用說(shuō)明
1.設(shè)置了滑動(dòng)監(jiān)聽(tīng)接口,調(diào)用public void setOnScrollListener(OnScrollListener onScrollListener)方法設(shè)置監(jiān)聽(tīng)器延窜。
2.可以調(diào)用public void flingToPage(int page)使控件快速滑動(dòng)到某個(gè)childview逆瑞,傳入?yún)?shù)為childview的序號(hào)。
3.提供了讓某個(gè)Item居中的接口setCenterPage
public void setCenterPage(int centerPage)
4.提供了初始化時(shí)預(yù)先偏置的接口
public void setNeedOffset(boolean needOffset)
五哈肖、新特性:兩個(gè)view同步滑動(dòng)
1谋减、實(shí)現(xiàn)了同一組view根據(jù)同樣的手勢(shì)動(dòng)作并結(jié)合自己item的寬度同步地滑動(dòng),最終停留在相同index的item處且居中顯示庄吼。
2、使用注意
2.1器罐、需要實(shí)現(xiàn)TouchEventListener接口轰坊,該接口作用有兩個(gè),一是登記需要同步滑動(dòng)的LeGalleryLikeHorizontalScrollView對(duì)象肴沫,二是監(jiān)聽(tīng)并分發(fā)某一個(gè)view上的手勢(shì)事件到其他view颤芬,從而控制其他view同步地滑動(dòng)套鹅。具體實(shí)現(xiàn)范例可以完全參照demo工程。
2.2卓鹿、需要在初始化對(duì)象時(shí)吟孙,必須且只需將其中一個(gè)view設(shè)置成參照物,即設(shè)置public boolean isStandardView = true;具體例子參見(jiàn)Demo肥隆。