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

DrawerLayout(抽屜布局):谷歌官方的控件,可以簡單的實現(xiàn)側滑菜單;
此Demo主要是DrawerLayout結合Toolbar實現(xiàn)側滑左上角返回鍵實現(xiàn)動畫效果,點擊左上角返回鍵實現(xiàn)動畫效果并且滑出滑入側滑菜單;
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"設置旋轉樣式(當DrawerLayout滑出返回鍵有一個動畫)-->
<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="主頁面"
android:textSize="35sp"/>
</LinearLayout>
<!--
側滑菜單
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="側滑菜單"
android:gravity="center"
android:textSize="35sp"/>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
</LinearLayout>
布局文件非常簡單,就是一個線性布局,上面是toolbar,下面是DrawerLayout,抽屜布局里面放兩個容器布局,上面的是主頁面,下面的是菜單頁面;
想要實現(xiàn)左上角返回按鈕的動畫必須給toolbar設置樣式(app:theme="@style/DrawerArrowStyle"):
<!-- 左邊的側滑箭頭指示 是否翻轉,顏色--> <style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle"> <item name="spinBars">true</item> <item name="color">@android:color/white</item> </style>
接下來設置Toolbar和DrawerLayout:
toolbar = (Toolbar) findViewById(R.id.toolbar);
mDrawerLayout= (DrawerLayout) findViewById(R.id.drawerLayout);
/***************************************Toolbar設置****************************************/
//把布局中的Toolbar當作ActionBar
setSupportActionBar(toolbar);
//設置標題
getSupportActionBar().setTitle("頤眾商城");
//設置返回鍵
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
/**********************************DrawerLayout設置****************************************/
//第一步:創(chuàng)建返回鍵,并實現(xiàn)打開關/閉監(jiān)聽
ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, 0, 0) {
@Override
//打開Drawer
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);//開關狀態(tài)改為opened
}
@Override
//關閉Drawer
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);//開關狀態(tài)改為closed
}
};
//第二步:該方法會自動和actionBar關聯(lián), 將開關的圖片顯示在了action上,如果不設置,也可以有抽屜的效果,不過是默認的圖標
mDrawerToggle.syncState();
//第三步:設置抽屜滑出來,和滑進去的監(jiān)聽
mDrawerLayout.setDrawerListener(mDrawerToggle);
點擊打開鏈接免費下載源碼
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android Canvas的drawText()與文字居中方案詳解
這篇文章主要給大家介紹了關于Android Canvas的drawText()與文字居中方案的相關資料,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-12-12
Android開發(fā)之activiti節(jié)點跳轉
這篇文章主要介紹了Android開發(fā)之activiti節(jié)點跳轉的相關資料,需要的朋友可以參考下2016-04-04
Android雙向選擇控件DoubleSeekBar使用詳解
這篇文章主要為大家詳細介紹了Android雙向選擇控件DoubleSeekBar的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-08-08
一文了解Android?ViewModelScope?如何自動取消協(xié)程
這篇文章主要介紹了一文了解Android?ViewModelScope?如何自動取消協(xié)程,文章圍繞主題站展開詳細的內容介紹,具有一定參考價值,感興趣的小伙伴可以參考一下2022-07-07
Android user版通過adb_enable開啟adb 調試 不提示對話框的流程分析
這篇文章主要介紹了Android user版通過adb_enable開啟adb 調試 不提示對話框的流程分析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05
Android基于反射技術實現(xiàn)的加減乘除運算示例
這篇文章主要介紹了Android基于反射技術實現(xiàn)的加減乘除運算,較為詳細的描述了反射技術的原理,并結合完整實例形式分析了Android基于反射技術實現(xiàn)加減乘除四則運算的相關操作步驟與實現(xiàn)技巧,需要的朋友可以參考下2016-10-10

