DrawerLayout結(jié)合Tollbar實(shí)現(xiàn)菜單側(cè)滑效果
本文實(shí)例為大家分享了DrawerLayout結(jié)合Tollbar實(shí)現(xiàn)菜單側(cè)滑的具體代碼,供大家參考,具體內(nèi)容如下

DrawerLayout(抽屜布局):谷歌官方的控件,可以簡(jiǎn)單的實(shí)現(xiàn)側(cè)滑菜單;
此Demo主要是DrawerLayout結(jié)合Toolbar實(shí)現(xiàn)側(cè)滑左上角返回鍵實(shí)現(xiàn)動(dòng)畫效果,點(diǎn)擊左上角返回鍵實(shí)現(xiàn)動(dòng)畫效果并且滑出滑入側(cè)滑菜單;
xml布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="www.dld.com.drawerlayoutdemo.MainActivity"
android:orientation="vertical">
<!--app:theme="@style/DrawerArrowStyle"設(shè)置旋轉(zhuǎn)樣式(當(dāng)DrawerLayout滑出返回鍵有一個(gè)動(dòng)畫)-->
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/toolbar"
android:background="@android:color/holo_blue_dark"
app:theme="@style/DrawerArrowStyle"/>
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--主布局-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#e5e5e5">
<TextView
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="主頁(yè)面"
android:textSize="35sp"/>
</LinearLayout>
<!--
側(cè)滑菜單
android:layout_gravity="start"從左邊滑出
android:layout_gravity="end"從右邊滑出
-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#e5e5e5"
android:layout_gravity="start"
>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="側(cè)滑菜單"
android:gravity="center"
android:textSize="35sp"/>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
</LinearLayout>
布局文件非常簡(jiǎn)單,就是一個(gè)線性布局,上面是toolbar,下面是DrawerLayout,抽屜布局里面放兩個(gè)容器布局,上面的是主頁(yè)面,下面的是菜單頁(yè)面;
想要實(shí)現(xiàn)左上角返回按鈕的動(dòng)畫必須給toolbar設(shè)置樣式(app:theme="@style/DrawerArrowStyle"):
<!-- 左邊的側(cè)滑箭頭指示 是否翻轉(zhuǎn),顏色--> <style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle"> <item name="spinBars">true</item> <item name="color">@android:color/white</item> </style>
接下來設(shè)置Toolbar和DrawerLayout:
toolbar = (Toolbar) findViewById(R.id.toolbar);
mDrawerLayout= (DrawerLayout) findViewById(R.id.drawerLayout);
/***************************************Toolbar設(shè)置****************************************/
//把布局中的Toolbar當(dāng)作ActionBar
setSupportActionBar(toolbar);
//設(shè)置標(biāo)題
getSupportActionBar().setTitle("頤眾商城");
//設(shè)置返回鍵
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
/**********************************DrawerLayout設(shè)置****************************************/
//第一步:創(chuàng)建返回鍵,并實(shí)現(xiàn)打開關(guān)/閉監(jiān)聽
ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, 0, 0) {
@Override
//打開Drawer
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);//開關(guān)狀態(tài)改為opened
}
@Override
//關(guān)閉Drawer
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);//開關(guān)狀態(tài)改為closed
}
};
//第二步:該方法會(huì)自動(dòng)和actionBar關(guān)聯(lián), 將開關(guān)的圖片顯示在了action上,如果不設(shè)置,也可以有抽屜的效果,不過是默認(rèn)的圖標(biāo)
mDrawerToggle.syncState();
//第三步:設(shè)置抽屜滑出來,和滑進(jìn)去的監(jiān)聽
mDrawerLayout.setDrawerListener(mDrawerToggle);
點(diǎn)擊打開鏈接免費(fèi)下載源碼
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android Canvas的drawText()與文字居中方案詳解
這篇文章主要給大家介紹了關(guān)于Android Canvas的drawText()與文字居中方案的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Android開發(fā)之a(chǎn)ctiviti節(jié)點(diǎn)跳轉(zhuǎn)
這篇文章主要介紹了Android開發(fā)之a(chǎn)ctiviti節(jié)點(diǎn)跳轉(zhuǎn)的相關(guān)資料,需要的朋友可以參考下2016-04-04
Android實(shí)現(xiàn)滾動(dòng)刻度尺效果
本篇文章主要介紹了Android實(shí)現(xiàn)滾動(dòng)刻度尺效果,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05
android事件分發(fā)機(jī)制的實(shí)現(xiàn)原理
本篇文章主要介紹了android事件分發(fā)機(jī)制的實(shí)現(xiàn)原理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
Android雙向選擇控件DoubleSeekBar使用詳解
這篇文章主要為大家詳細(xì)介紹了Android雙向選擇控件DoubleSeekBar的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08
一文了解Android?ViewModelScope?如何自動(dòng)取消協(xié)程
這篇文章主要介紹了一文了解Android?ViewModelScope?如何自動(dòng)取消協(xié)程,文章圍繞主題站展開詳細(xì)的內(nèi)容介紹,具有一定參考價(jià)值,感興趣的小伙伴可以參考一下2022-07-07
Android實(shí)現(xiàn)儀表盤控件開發(fā)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)儀表盤控件開發(fā),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05
Android user版通過adb_enable開啟adb 調(diào)試 不提示對(duì)話框的流程分析
這篇文章主要介紹了Android user版通過adb_enable開啟adb 調(diào)試 不提示對(duì)話框的流程分析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
仿餓了嗎點(diǎn)餐界面兩個(gè)ListView聯(lián)動(dòng)效果
這篇文章主要介紹了仿餓了點(diǎn)餐界面2個(gè)ListView聯(lián)動(dòng)效果的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09
Android基于反射技術(shù)實(shí)現(xiàn)的加減乘除運(yùn)算示例
這篇文章主要介紹了Android基于反射技術(shù)實(shí)現(xiàn)的加減乘除運(yùn)算,較為詳細(xì)的描述了反射技術(shù)的原理,并結(jié)合完整實(shí)例形式分析了Android基于反射技術(shù)實(shí)現(xiàn)加減乘除四則運(yùn)算的相關(guān)操作步驟與實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-10-10

