天天看點

DrawerLayout實作網易新聞抽屜效果

個人感覺網易的用戶端比較前衛,有很多新鮮的東西,有時候模仿這些好的用戶端能學到很多東西

開始今天的主要課題,下面是網易用戶端抽屜模式實作的效果

DrawerLayout實作網易新聞抽屜效果
DrawerLayout實作網易新聞抽屜效果

其實有個drawerlayout這個布局,你得問題就已經解決掉一大半了,drawerlayout布局本身就提供了左劃和右劃的功能

先上代碼,然後慢慢解答,看完這篇部落格你就知道drawerlayout怎麼用了

首先上逐漸局檔案代碼

drawerlayout是androidv4包裡自帶的,既然是自帶的那麼直接拿來用就可以了,當然前提是你得工程裡有v4包

下面解釋上面的布局檔案,讓你懂得drawerlayout用法,首先drawerlayout支援左劃和右劃,那他是如何控制的呢?不居中告訴你,以上布局分為三部分,一般情況下,第一部分是主步局,第二部分是左劃的布局,第三部分是右劃的布局,其實這裡的左向滑動和右向滑動是通過gravity控制,左劃界面android:layout_gravity="left" 當然這裡的left也可以用start代替,右劃界面就理所當然的是android:layout_gravity="right" ,同樣right也可以用end代替,其餘的應該明白了吧!不懂留言,我認真為你解答

下面在貼一下主界面的代碼,你看懂drawerlayout用法其餘的就很簡單了,媽媽再也不懂擔心你的學習了

ok,就是這麼簡單啦!

csdn代碼下載下傳:http://download.csdn.net/detail/elinavampire/8195349

github代碼下載下傳:https://github.com/zimoguo/drawermode

................................................源碼.....................................................................

首先看drawerlayout,他繼承自viewgroup,這裡主要看一下它裡面的方法,友善以後使用

上面主要是監聽事件的接口,通常回調的時候回用到它,裡面的方法有四個,分别是ondrawerslide(view drawerview, float slideoffset);ondraweropened(view drawerview);ondrawerclosed(view

drawerview);ondrawerstatechanged(int newstate);

ondrawerslide(view drawerview, float slideoffset)抽屜改變時使用

ondraweropened(view drawerview);打開抽屜

ondrawerclosed(view drawerview)關閉抽屜

ondrawerstatechanged(int newstate);改變抽屜的狀态

上面這個方法是為了設定用于左或右陰影的簡單可拉伸。所提供的可拉伸必須有一個非零固有寬度。

設定用于該掩蓋的主要内容,而抽屜打開網眼織物的顔色。

啟用或禁用了所有的抽屜互動。

繼續閱讀