View.--一個(gè)非常好的滑動(dòng)菜單開源項(xiàng)目。
Demo
一、簡(jiǎn)介
看了挺長時(shí)間的自定義View和事件分發(fā),想找一個(gè)項(xiàng)目練習(xí)下。。正好印證自己所學(xué)。
在github上找到了這個(gè)項(xiàng)目:SwipeMenuListView這的真不錯(cuò),對(duì)事件分發(fā)和自定義View都很有啟發(fā)性,雖然還有點(diǎn)小瑕疵,后面說明。想了解滑動(dòng)菜單怎么實(shí)現(xiàn)的同學(xué),這篇文章絕對(duì)對(duì)你有幫助,從宏觀微觀角度詳細(xì)分析了每個(gè)文件。
項(xiàng)目地址:https://github.com/baoyongzhang/SwipeMenuListView/tree/b00e0fe8c2b8d6f08607bfe2ab390c7cee8df274 版本:b00e0fe 它的使用很簡(jiǎn)單只需要三步,在github上就可以看懂就不占用篇幅啦,本文只分析原理。另外如果你看代碼感覺和我不一樣,看著困難的話,可以看我加了注釋的:http://download.csdn.net/detail/jycboy/9667699
先看兩個(gè)圖:有一個(gè)大體的了解
這是框架中所有的類。
1.下面的圖是視圖層次:
上面的圖中:SwipeMenuLayout是ListView中item的布局,分左右兩部分,一部分是正常顯示的contentView,一部分是滑出來的menuView;滑出來的SwipeMenuView繼承自LinearLayout,添加view時(shí),就是橫向添加,可以橫向添加多個(gè)。