歡迎Follow我的GitHub, 關(guān)注我的CSDN. 其余參考Android目錄.
歡迎關(guān)注我們的微信公眾號:楊守樂
轉(zhuǎn)載來源:楊守樂
本文由:【吧主的博客】分享
每日英語
life is crazy! we chase what we can't have, and run away from what we desire the most!.
生活有的時(shí)候很瘋狂,我們追逐那些無法擁有的,卻放棄那些我們最需要的。
“ 前言
博主是個(gè)android程序員,最近接了不少私活在做。想寫博客也一直沒時(shí)間,剛好有幾個(gè)項(xiàng)目交工了才有時(shí)間寫博客。同時(shí)這也是我寫的第一篇博客,因?yàn)橐恢币詠砦叶际菍戦_發(fā)筆記的。
在做項(xiàng)目的時(shí)候我遇到一個(gè)需求,一個(gè)橫向滾動的列表要添加拖動刷新和加載的功能。本著快速開發(fā)的原則,我就在網(wǎng)上找別人的控件使用。然而找到一個(gè)控件只能左拉加載,卻不能同時(shí)兩端拖動加載。于是就自己寫了。
“ 先上效果圖


“ 創(chuàng)建可以滑動的容器
1、既然是個(gè)容器那就直接繼承FrameLayout,如下

2、添加左右兩邊的的拖動展示控件

3、控件是添加進(jìn)入了,但是還是需要計(jì)算控件的位置和控件如何擺放

我將兩個(gè)控件分別放在一左一右,childAt.layout(0, 0, 0, b);從這可以看出,我將控件的展示寬度設(shè)置成0px,后面拖動時(shí)就可以改變其寬度。
4、攔截觸摸事件

5、監(jiān)聽事件并改變控件寬度

“ 小結(jié)
到此這個(gè)控件基本上就可以做完了,其中的MoreView 就是拖動出來展示的控件,這個(gè)控件可以自己隨意更換展示,并不會有什么影響。其實(shí)也沒什么好說的,注釋里寫的還是很明白的。篇幅有限,就講到這了。附上源碼地址:
https://github.com/cookieci/HorizontalRefresh/
每日掏心話
人都是被逼出來的,有了壓力許多潛在的智慧就會被激發(fā)出來。所以,沒有走不通的路,沒有過不去的坎。相信自己,我們都有可能創(chuàng)造奇跡!