国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android使用DrawerLayout仿QQ6.6版?zhèn)然Ч?/h1>
2019-12-12 01:34:12
字體:
供稿:網(wǎng)友

一講到側(cè)滑菜單,我相信大家都會(huì)想到一個(gè)開源控件SlidingMenu,在google還沒有出來DrawerLayout的時(shí)候幾乎都是使用Slidingmenu來實(shí)現(xiàn)側(cè)滑效果,可以說是效果很不錯(cuò),自從google出了Drawerlayout以后很多公司就使用了Drawerlayout比如 滴滴打車等等。那么今天我們利用drawerlayout來實(shí)現(xiàn)qq6.6最新的側(cè)滑效果。首先來看看Drawerlayout默認(rèn)的效果:


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


這樣大家可以看到區(qū)別了,其實(shí)我們只要在滑動(dòng)左面菜單的時(shí)候讓內(nèi)容頁面跟隨滑動(dòng)就行了,首先我們看看DrawerLayout有沒有給我們監(jiān)聽滑動(dòng)的監(jiān)聽,哈哈,翻了一下源碼我們找到了這個(gè)方法 onDrawerSize方法;只要實(shí)現(xiàn)setDrawerListener回調(diào)就行了代碼如下:

drawer.setDrawerListener(new DrawerLayout.DrawerListener() {       @Override       public void onDrawerSlide(View drawerView, float slideOffset) {         //獲取屏幕的寬高         WindowManager manager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);         Display display = manager.getDefaultDisplay();         //設(shè)置右面的布局位置 根據(jù)左面菜單的right作為右面布局的left  左面的right+屏幕的寬度(或者right的寬度這里是相等的)為右面布局的right         right.layout(left.getRight(), 0, left.getRight() + display.getWidth(), display.getHeight());       }       @Override       public void onDrawerOpened(View drawerView) {                }       @Override       public void onDrawerClosed(View drawerView) {                }       @Override       public void onDrawerStateChanged(int newState) {                }     }); 

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


是不是有那么點(diǎn)意思了呢,哈哈,今天就開到這里了。

最后附上源碼:https://github.com/dalong982242260/DrawLayoutMenu

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

主站蜘蛛池模板: 丘北县| 罗山县| 思茅市| 建始县| 潞城市| 永寿县| 隆回县| 博野县| 岐山县| 德安县| 商水县| 乳山市| 理塘县| 聂拉木县| 绍兴市| 伊川县| 东山县| 巩义市| 桃园市| 岐山县| 平泉县| 无棣县| 大兴区| 普兰县| 大连市| 会同县| 霍邱县| 南岸区| 鄂托克旗| 凤城市| 彰化市| 黄龙县| 顺义区| 铜川市| 鲁山县| 博客| 云林县| 安图县| 通江县| 娱乐| 临洮县|