最近小編在學(xué)習(xí)IOS開發(fā),感觸頗深,看到了iOS里面封裝了好多組件,很多組件都是iOS自帶的,相信一般的小公司的產(chǎn)品經(jīng)理都是按照iOS的交互來設(shè)計UI,而且還要求Android要和iOS統(tǒng)一風(fēng)格,這讓Android開發(fā)人員很頭痛,iOS自帶組件很容易實現(xiàn),而Android可能需要重寫控件去配合iOS的效果。其實這樣必然會導(dǎo)致性能的小將,或有些許的卡頓。小編個人認(rèn)為,按照各自系統(tǒng)的風(fēng)格和規(guī)范進行設(shè)計才能把自己的優(yōu)點發(fā)揮到最大化。 下面就引出了今天的主題,自定義組件ListPopWindow,iOS中,這個效果是自帶的。PopWindow可以說在項目里用的比較多的了,可能有n處要用到PopWindow,那么自定義一個PopWindow,到處來用更方便一些。 先看一下效果:
這里寫圖片描述
1.自定義PopWindow
首先我們分析一下,這樣的效果肯定是一個PopWindow嵌套著listview,而上面的title、和下面的cancel是兩個文本框,實現(xiàn)起來也比較簡單。 然后我們在PopWindow中聲明兩個接口,用來回調(diào)cancel和item的點擊事件
然后再設(shè)置一些PopWindow的一些屬性
3.自定義adapter適配器
這里面可能要注意的就是item的背景設(shè)置,有的是上半部分圓角、有的是下半部分圓角,特殊處理一下
最后看一下調(diào)用
Activity需要實現(xiàn)item接口(OnPopItemClickListener)和底部按鈕接口(OnBottomTextviewClickListener)
詳細源碼分析在
http://blog.csdn.net/lyhhj/article/details/50582900
最后小編附上github源碼地址,小伙伴們可以直接用哦。 https://github.com/Hankkin/ListPopwidowDemo