Android的DrawerLayout全屏滑動顯示
Android的DrawerLayout是android_support_v4.jar這個jar包裡面的一個佈局控制元件,大家都知道DrawerLayout可以實現從側面滑動彈出一個佈局,實現Android的抽屜效果,很多市場的App都需要抽屜效果的實現,比如QQ點選本人資料會從左邊彈出一個線性佈局,彈出來是由左往右在一個短暫時間內完成的一組動畫。
DrawerLayout佈局的最小陰影寬度為64dp,那麼問題來了,如果我們這群程式設計師有這樣一個需求,想讓DrawerLayout全屏顯示,全屏彈出一個抽屜效果,該如何實現呢?
我百度搜了一下DrawerLayout的全屏顯示,發現並沒有人去解決這個問題,我那個揪心啊,找了好久,心好累,然後只能慢慢自己解決了…
靈機一動,突然發現了一個好方法,既然Android自帶的DrawerLayout不行,Android的原始碼又不能更改,所以我們可以自己做一個出來啊,這裡我定義為MyDrawerLayout,接下來就是見證奇蹟的時刻了…因為我要做一件大事,這件大事就是抄抄抄,抄程式碼…哈哈哈!
首先,找到DrawerLayout這個的原始碼,然後一字不漏的全部抄到自己的MyDrawerLayout中,把所有的DrawerLayout改成MyDrawerLayout,這樣一來,屬於我們自己的MyDrawerLayout就完成了,想怎麼改就怎麼改,是不是很贊,現在我們只需要把裡面的一個private
static final int型別的屬性MIN_DRAWER_MARGIN(就是陰影最小寬度)改掉就大功告成了,現在問題還是有,到底什麼問題呢??!!臥槽,我居然發現我找不到DrawerLayout這個的原始碼,哎呀尼瑪的,怎麼會看不到呢,因為android_support_v4.jar是外部支援匯入進來的jar包,所以你按住Ctrl+滑鼠左鍵點DrawerLayout還是看不到的,會顯示找不到該類的內容,小江帶你繼續當抄襲專家…哈哈哈哈
有兩個方法:
第一種:
Android SDK在extras目錄中同樣提供了support包的原始碼,當然前提是你使用Android SDK Manager下載過了Android Support Library。當我們使用到support包的時候,它一般都會靜靜的躺在libs目錄裡,這個時候我們只需要在同一個目錄下建一個properties檔案,名字跟你所用的support jar包相同,即android-support-v4.jar會有一個對應的android-support-v4.jar.properties的檔案
在裡面輸入android-support-v4.jar路徑就行了,原始碼在android-sdk目錄下的extras\android\compatibility\v4\src,這是我的原始碼路徑,你根據情況修改即可
重新整理工程在開啟工程,然後你找到DrawerLayout,按住Ctrl點選DrawerLayout
很簡單,直接去根目錄查詢,先找到SDK,具體目錄如下:
...\sdk\extras\android\support\v4\src\java\android\support\v4\widget\DrawerLayout.java
開啟它,然後全選複製貼上到自己的MyDrawerLayout中,修改程式碼即可!
好了,廢話不多說,最精彩的來了,上效果圖!!!
第一張:還沒開啟MyDrawerLayout:
第二張:開啟的過程:
第三張:開啟完成後:
講得很清楚很簡單了,要程式碼的同學可以找我要,我的QQ是1018433564
自行下載~謝謝大家捧場~~
oh no 又11點半了,吃飯繼續碼程式碼了!!!