android常用多條件篩選菜單實現思路(類似美團,愛奇藝電影票下拉菜單)

jopen 8年前發布 | 83K 次閱讀 Android開發 移動開發

就在昨天,我的一個項目DropDownMenu被daimajia的干貨網站推薦,一天之內有了200多個star,上了github java分類的頭條,有些激動(在這個板塊關注了一年多,終于能看到自己的項目在上面),也有些惶恐(怕自己水平不夠,會誤導大家),總而言之還是很高興的,截了張圖片紀念一下,也希望以后大家多多關注支持我創作


201601071758332.png

效果還是很贊的,看下動態圖


simple.gif


這個項目是我在2015年7月份左右寫的,時隔半年,終于有人問津,但時隔半年,也感到這個項目有許多的不足之處,懷著激動的心情今天來講解并完善這個項目。

選擇實現方式

若是看到第一眼讓我做這個效果,我肯定會選擇PopuWindow去做,PopuWindow可以實現顯示隱藏效果也自帶陰影效果,看上去是不錯的選擇,網上也有類似庫DropDownMenu就是利用PopuWindow實現,但事實上在菜單切換的時候會很不流暢(用的不爽),思維局限的時候容易鉆死角,嘗試過甚至自定義PopuWindow,最后都毫無辦法改善那點問題,最后在網上偶遇一個demo使用View的顯示隱藏加些動畫效果就解決了我的難題,最終我放棄使用PopuWindow,利用最基本的布局實現了這個項目。

當遇到難題束手無策時,不妨暫且放下,待思路清晰時,或許它根本就不是個問題

這個項目做了哪些,沒做哪些?

這個項目并沒有實現菜單及里面的邏輯,僅僅提供了一套實現菜單的框架,菜單的樣式可完全自定義,目的是為了快速集成,又可擴展(實用),在很多時候,選擇開源框架我會將擴展性放在首位,不然再好看再炫我都不會輕易使用,當然,既炫又實用的東西我是不會嫌棄的。

實現思路

其實這個項目可以直接使用Xml布局實現,結構是這樣的


QQ截圖20160110112344.png


嗯,大概的結構就是這個樣子,但使用xml文件有個弊端,tab的個數不可以動態控制,menu也是一樣,tab包括menu和之間的切換和動畫處理起來都比較麻煩,我才有意將其封裝為獨立控件,只需在一處集中處理這些麻煩,提供簡單易用的api。

一些改進想法

  • menu之間的切換支持手勢
  • menu底部留白
  • tab可滑動
  • 可使用xml文件布局,卻不需要處理其他問題
  • 更靈活的api
    新版的DropDownMenu,敬請期待,預覽圖:

    dropdownmenunew.gif

github:DropDownMenu

歡迎star、fork 、issues

來自: http://www.jianshu.com/p/d9407f799d2d

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!