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

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

演示:

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

這里寫圖片描述

這里寫圖片描述

然后是單獨效果的演示:

位移動畫演示:

這里寫圖片描述

縮放動畫演示:

這里寫圖片描述

透明度動畫演示:

這里寫圖片描述

旋轉(zhuǎn)動畫演示:

這里寫圖片描述

全局圖片沉浸演示:

這里寫圖片描述

模糊背景演示:

這里寫圖片描述

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

這里寫圖片描述

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

這里寫圖片描述

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

這里寫圖片描述

這里寫圖片描述

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

簡單計算一下:

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

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

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

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

<?xml version="1.0" encoding="utf-8"?>
<com.brioal.swipemenu.view.SwipeMenu
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_swipemenu"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.brioal.swipemenudemo.MainActivity">

    <include layout="@layout/left_menu"/>

    <include layout="@layout/right_content"/>

</com.brioal.swipemenu.view.SwipeMenu>

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

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

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

<declare-styleable name="SwipeMenu">
        <!--動畫的代碼-->
        <attr name="sm_type" format="integer"/>
        <!--滑出菜單的范圍-->
        <attr name="sm_dragoffset" format="dimension"/>
        <!--滑出菜單距邊界的值-->
        <attr name="sm_menuoffset" format="dimension"/>
        <!--滑動開始的縮放值-->
        <attr name="sm_startscale" format="float"/>
        <!--滑動開始的alpha值-->
        <attr name="sm_startalpha" format="float"/>
        <!--滑動開始的3D旋轉(zhuǎn)角度-->
        <attr name="sm_start3dangle" format="integer"/>
    </declare-styleable>

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

為了方便定制動畫效果,用一個4位數(shù)字來表示不同的動畫組合,個位代表的旋轉(zhuǎn)動畫效果序號,十位代表透明度動畫效果,千位代表縮放動畫效果,萬位代表位移動畫效果,各個位置的起始都是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旋轉(zhuǎn)角度
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.旋轉(zhuǎn)動畫其實就一個3D旋轉(zhuǎn)效果比較好,其他的都是瞎添的,如果要用的話建議和透明度動畫一起使用,可防止卡頓(單獨用中心旋轉(zhuǎn)卡頓明顯,畢竟繪圖的代價擺在那)

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

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

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

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

compile 'com.brioal:SwipeMenu:1.0'

或者可以下載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)模糊效果

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市灭衷,隨后出現(xiàn)的幾起案子舆吮,更是在濱河造成了極大的恐慌快耿,老刑警劉巖彼水,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件条霜,死亡現(xiàn)場離奇詭異间雀,居然都是意外死亡悔详,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門雷蹂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人杯道,你說我怎么就攤上這事匪煌≡痱穑” “怎么了?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵萎庭,是天一觀的道長霜医。 經(jīng)常有香客問我,道長驳规,這世上最難降的妖魔是什么肴敛? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮吗购,結果婚禮上医男,老公的妹妹穿的比我還像新娘。我一直安慰自己捻勉,他們只是感情好镀梭,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著踱启,像睡著了一般报账。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上埠偿,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天透罢,我揣著相機與錄音,去河邊找鬼冠蒋。 笑死羽圃,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的浊服。 我是一名探鬼主播统屈,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼牙躺!你這毒婦竟也來了愁憔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤孽拷,失蹤者是張志新(化名)和其女友劉穎吨掌,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體脓恕,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡膜宋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了炼幔。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秋茫。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖乃秀,靈堂內(nèi)的尸體忽然破棺而出肛著,到底是詐尸還是另有隱情圆兵,我是刑警寧澤,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布枢贿,位于F島的核電站殉农,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏局荚。R本人自食惡果不足惜超凳,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望耀态。 院中可真熱鬧轮傍,春花似錦、人聲如沸茫陆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽簿盅。三九已至挥下,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間桨醋,已是汗流浹背棚瘟。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留喜最,地道東北人偎蘸。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像瞬内,于是被迫代替她去往敵國和親迷雪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內(nèi)容