288種側滑菜單

多達288種動態(tài)效果的側滑菜單開源庫,滿足您項目的各種需求

本篇文章已授權微信公眾號 guolin_blog (郭霖)獨家發(fā)布

演示:

首先是實現(xiàn)效果的總覽:

然后是單獨效果的演示:

位移動畫演示:

縮放動畫演示:

透明度動畫演示:

旋轉動畫演示:

全局圖片沉浸演示:

模糊背景演示:

動態(tài)模糊演示:

反向動態(tài)模糊演示

單一的動畫就演示完了,下面演示幾組組合動畫

好了,就演示這么多了,因為組合動畫太多了,演示不完的

簡單計算一下:

3種位移動畫*2種縮放動畫*2種透明動畫*6種旋轉動畫,3種圖片背景效果=288種,另外包括縮放,透明度,3D旋轉,動態(tài)模糊都能設置范圍,所以可定制的效果就更多了.

1

接下來就該介紹一下使用方法:

用于測試的Demo上演示了很多效果,同時動態(tài)的顯示了當前效果要進行的代碼設置方法,同時還包含一些小提示,建議您先下個Demo先看看.DemoApk下載

xml布局文件中的使用方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

布局文件非常簡單,包含兩個xml布局,上邊的是菜單布局,下邊的是內(nèi)容布局

如果是最簡單的使用那么這樣設置已經(jīng)足夠了,默認的是固定不動的滑動方式

如果要對滑動的參數(shù)和效果進行定制,那么可以看一下資源文件中的設置(都有注釋,理解起來不難)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

關于動畫代碼這里解釋一下

為了方便定制動畫效果,用一個4位數(shù)字來表示不同的動畫組合,個位代表的旋轉動畫效果序號,十位代表透明度動畫效果,千位代表縮放動畫效果,萬位代表位移動畫效果,各個位置的起始都是1,有幾種動畫效果上限就是多少.比如位移動畫有三種,則萬位的范圍就為1~3,其他依次類推.

注:因為背景,模糊效果會引入多余的組件,所以只在需要的時候添加進去,故不包含在動畫代碼中,設置方式下面再說.

再貼一個xml屬性與代碼的實現(xiàn)表格

代碼實現(xiàn)xml實現(xiàn)功能

setStyleCode(int type)sm_type`設置動畫效果代碼

setMenuOffset(int menuOffset)sm_menuoffset設置拉出菜單距離右邊界的距離

setDragWipeOffset(int dragWipeOffset)sm_dragoffset設置觸發(fā)滑動的范圍,為0則是全屏

setStartScale(float minScale)sm_startscale設置起始縮放

setStartAlpha(float startAlpha)sm_startalpha設置起始透明度

setStart3DAngle(int start3DAngle)sm_start3dangle設置起始3D旋轉角度

setFullColor(Activity activity, int headColor)無設置全局顏色

setBackImage(Activity activity, int backBitmap, int headColor)無設置全局圖片背景并沉浸

setBlur(Activity activity, int backBitmap, int headColor, float blur)無設置全局模糊背景并指定模糊程度

setChangedBlur(Activity activity, int backBitmap, int headColor)無設置全局動態(tài)模糊(范圍默認0~25f)

setReverseChangedBlur(Activity activity, int backBitmap, int headColor)無設置反向動態(tài)模糊背景(范圍默認0~25f)

setChangedBlur(Activity activity, int backBitmap, int headColor, float startBlur, float endBlur)無設置指定范圍的動態(tài)模糊

setOnMenuShowingListener(onSwipeProgressListener listener)無設置滑動監(jiān)聽,回調(diào)獲取菜單隱藏到顯示的進度,范圍(0~1.0f)

changeAllColor(int color)無改變?nèi)诸伾?需要先設置全局顏色)

isMenuShowing()無當前菜單是否顯示

showMenu()無顯示菜單

hideMenu()無隱藏菜單

提供的方法就這么多,也不難理解,這里再說一點注意事項

1.默認是不設置全局背景或者顏色的,所以如果需要全局顏色沉浸和背景沉浸請做相關設置.兩種沉浸都兼容到4.4

2.全局顏色支持動態(tài)更換,全局圖片背景不支持,當時想的是應該沒有這種需求,當然如果有的話可以跟我反饋我會添加.

3.旋轉動畫其實就一個3D旋轉效果比較好,其他的都是瞎添的,如果要用的話建議和透明度動畫一起使用,可防止卡頓(單獨用中心旋轉卡頓明顯,畢竟繪圖的代價擺在那)

為了方便同學們對效果進行設置,我在演示Demo中添加了參數(shù)設置顯示的效果,就在RecyclerView的第一個Item,并且是可以動態(tài)更改的,當前的效果需要如何設置參數(shù)全部在上面顯示出來了.

另外用RecyclerView來顯示提示的另一個目的是演示滑動沖突的處理,默認的是菜單和內(nèi)容都是可以處理橫向縱向的滑動操作的,只有當滑動在靠近菜單內(nèi)容交集點的時候才會觸發(fā)滑動.當然也可以設置全屏滑動和設置觸發(fā)的范圍,具體方法查看上面表格內(nèi)的方法,這里就不重復了.

使用介紹就到這里了,下面介紹如何添加依賴庫:

Android Studio的話跟其他庫一樣,在你們App的build.gradle內(nèi)的dependencies下添加

compile'com.brioal:SwipeMenu:1.0'

1

或者可以下載Demo提取module添加

Demo代碼已上傳Github,地址:SwipeMenuDemo

另外說一點其他的,本人開學大四,喜歡Android開發(fā),目前還沒有確定的工作,如果您有推薦可以進入我的另外一個博客查看簡歷:Brioal`s Blog

如果覺得我寫的東西多多少少有一點可取之處,可以去[Github](https://github.com/Brioal/SwipeMenuDemo)上點個贊,多的話也能寫到簡歷裝一下是吧~~麻煩了

大部分大學應該是不開Android開發(fā)的,在這里與所有自學Android的同學們共勉~自學不容易啊!!

另外我建了個qq群,方便交流,歡迎各種大神,新手老手加入,群號碼:375276053

差點忘了,本庫用到的一些代碼片段來自網(wǎng)絡,貼一下地址,感謝大神的代碼:

沉浸狀態(tài)欄

教你一分鐘實現(xiàn)動態(tài)模糊效果

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,741評論 25 709
  • 1.要做一個盡可能流暢的ListView,你平時在工作中如何進行優(yōu)化的? ①Item布局,層級越少越好,使用hie...
    fozero閱讀 870評論 0 0
  • 作者:布萊恩·阿瑟 簡介:榮獲“熊彼特獎”的著名經(jīng)濟學家,收益遞增理論,復雜性科學奠基人 書本類型:哲學+理論 為...
    李阿倫閱讀 1,191評論 0 1
  • 還記得小時候咱們在一起玩的游戲嗎? 可能隨著歲月的流逝 你也是對于所有的記憶感到模糊不清 記得那年,我去你家一起做...
    zxvvbnm閱讀 381評論 0 2
  • “好美啊!” 第一次看到周若珍的時候,楊軒心里說到。 那是他和張嘯下了班準備回宿舍,在公司門口看到她的第一感覺。 ...
    揮雪攬月閱讀 386評論 0 0

友情鏈接更多精彩內(nèi)容