Android使用DrawerLayout仿qq6.6版本側滑效果

來源:互聯網
上載者:User

標籤:tools   detail   offset   drawer   相等   default   樣式   word   lan   

 

一講到側滑菜單,我相信大家都會想到一個開原始檔控制SlidingMenu,在google還沒有出來DrawerLayout的時候幾乎都是使用Slidingmenu來實現側滑效果,可以說是效果很不錯,自從google出了Drawerlayout以後很多公司就使用了Drawerlayout比如 滴滴打車等等。那麼今天我們利用drawerlayout來實現qq6.6最新的側滑效果。首先來看看Drawerlayout預設的效果:

 

和目前最新版的qq的側滑還是不一樣的區別就是內容頁面沒有跟隨向右滑動,而是菜單直接覆蓋在內容上,來看一張QQ的樣式圖

 

 

這樣大家可以看到區別了,其實我們只要在滑動左面菜單的時候讓內容頁面跟隨滑動就行了,首先我們看看DrawerLayout有沒有給我們監聽滑動的監聽,哈哈,翻了一下源碼我們找到了這個方法 onDrawerSize方法;只要實現setDrawerListener回調就行了代碼如下:

 

[java] view plain copy 
  1. drawer.setDrawerListener(new DrawerLayout.DrawerListener() {  
  2.            @Override  
  3.            public void onDrawerSlide(View drawerView, float slideOffset) {  
  4.                //擷取螢幕的寬高  
  5.                WindowManager manager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);  
  6.                Display display = manager.getDefaultDisplay();  
  7.                //設定右面的布局位置  根據左面菜單的right作為右面布局的left   左面的right+螢幕的寬度(或者right的寬度這裡是相等的)為右面布局的right  
  8.                right.layout(left.getRight(), 0, left.getRight() + display.getWidth(), display.getHeight());  
  9.            }  
  10.            @Override  
  11.            public void onDrawerOpened(View drawerView) {  
  12.                  
  13.            }  
  14.            @Override  
  15.            public void onDrawerClosed(View drawerView) {  
  16.                  
  17.            }  
  18.            @Override  
  19.            public void onDrawerStateChanged(int newState) {  
  20.                  
  21.            }  
  22.        });  

然後在看看我們改變的效果吧:

 

 

是不是有那麼點意思了呢,哈哈,今天就開到這裡了。最後附上源碼:https://github.com/dalong982242260/DrawLayoutMenu

  
    • 上一篇WebView載入https的空白及圖片載入不了的問題

Android使用DrawerLayout仿qq6.6版本側滑效果

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.