側(cè)滑菜單(android.support.design.widget.NavigationView)
使用方法:
可以自己布局 也可以使用studio工具生成 Navigation Drawer Activity
MainActivity布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:openDrawer="start"
>
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer"
app:theme="@style/mNavigationDrawerStyle"
/>
</android.support.v4.widget.DrawerLayout>
</RelativeLayout>
其中 app_bar_main.xml 是主頁(yè)面的布局
nav_header_main.xml 是側(cè)滑菜單的頭部布局
activity_main_drawer.xml 是側(cè)滑菜單的菜單布局
在layout中新建兩個(gè)布局文件踩寇。
nav_header_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_190"
android:layout_marginTop="@dimen/dp_40"
android:background="#fff"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="@dimen/dp_10">
<!-- 自己的布局代碼 -->
</LinearLayout>
activity_main_drawer.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">
<group android:checkableBehavior="single" >
<item
android:id="@+id/nav_userinfo"
android:icon="@mipmap/user3x"
android:title="個(gè)人信息設(shè)置"
/>
<item
android:id="@+id/nav_gallery"
android:icon="@mipmap/canyu3x"
android:title="參與記錄" />
<item
android:id="@+id/nav_slideshow"
android:icon="@mipmap/duihuan3x"
android:title="兌換記錄" />
<item
android:id="@+id/nav_manage"
android:icon="@mipmap/syst3x"
android:title="系統(tǒng)設(shè)置" />
<item
android:id="@+id/nav_app"
android:icon="@mipmap/tuijian3x"
android:title="推薦APP" />
</group>
</menu>
其實(shí)生成之后什么都有旨怠,只需要修改圖標(biāo)和文字即可。
這里不在多說(shuō)以舒,著重說(shuō)說(shuō)修改的事情棵介。
1.修改菜單欄中的文字大小
在res目錄下找到values下面的style.xml
添加代碼:
<!--15sp 為菜單欄字體大小-->
<style name="mNavigationDrawerStyle" >
<item name="android:textSize">15sp</item>
</style>
然后在MianActivity的布局文件中引用
app:theme="@style/mNavigationDrawerStyle"
2.如果切圖有背景顏色琅绅,直接使用上去邻眷,背景會(huì)變色波桩,不是原切圖的顏色
修改方法
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setItemIconTintList(null);
添加navigationView.setItemIconTintList(null);即可去掉自帶背景顏色