一、布局文件:
1、主布局(DrawerLayout ):
<android.support.v4.widget.DrawerLayout 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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:id="@+id/drawerlayout"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.haiyuan1995.slidemenu.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<TextView
android:id="@+id/tv_open"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打开侧滑菜单"
android:textSize="30sp"/>
</LinearLayout >
//导航栏视图
<android.support.design.widget.NavigationView
android:id="@+id/nv_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
app:itemTextColor="#526923"//设置标题文字颜色
app:itemIconTint="#c2143d"//设置标题图标颜色
app:headerLayout="@layout/navi_head"//头布局
app:menu="@menu/menu_drawer"/>//导航栏菜单
</android.support.v4.widget.DrawerLayout>
2、头布局栏:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="zwt_UseDesignDemo" />
</LinearLayout>
3、导航菜单栏:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group>
<item
android:id="@+id/menu_mon"
android:icon="@mipmap/ic_launcher"
android:title="Mon" />
<item
android:id="@+id/menu_tues"
android:icon="@mipmap/ic_launcher"
android:title="Tues" />
<item
android:id="@+id/enu_wed"
android:icon="@mipmap/ic_launcher"
android:title="Wed" />
<item
android:id="@+id/nu_thurs"
android:icon="@mipmap/ic_launcher"
android:title="Thurs" />
<item
android:id="@+id/menufri"
android:icon="@mipmap/ic_launcher"
android:title="Fri" />
<item
android:id="@+id/meu_wed"
android:icon="@mipmap/ic_launcher"
android:title="Wed" />
<item
android:id="@+id/menu_thrs"
android:icon="@mipmap/ic_launcher"
android:title="Thurs" />
<item
android:id="@+id/menu_ri"
android:icon="@mipmap/ic_launcher"
android:title="Fri" />
<item
android:id="@+id/menu_wed"
android:icon="@mipmap/ic_launcher"
android:title="Wed" />
<item
android:id="@+id/menu_thurs"
android:icon="@mipmap/ic_launcher"
android:title="Thurs" />
<item
android:id="@+id/menu_fri"
android:icon="@mipmap/ic_launcher"
android:title="Fri" />
</group>
<!--二级菜单-->
<item android:title="weekend">
<menu>
<item
android:id="@+id/menu_sa"
android:icon="@mipmap/ic_launcher"
android:title="Sat" />
<item
android:id="@+id/menu_su"
android:icon="@mipmap/ic_launcher"
android:title="Sun" />
<item
android:id="@+id/menu_sat"
android:icon="@mipmap/ic_launcher"
android:title="Sat" />
<item
android:id="@+id/menu_sun"
android:icon="@mipmap/ic_launcher"
android:title="Sun" />
<item
android:id="@+id/mnu_s"
android:icon="@mipmap/ic_launcher"
android:title="Sat" />
<item
android:id="@+id/menu_s"
android:icon="@mipmap/ic_launcher"
android:title="Sun" />
<item
android:id="@+id/menusat"
android:icon="@mipmap/ic_launcher"
android:title="Sat" />
<item
android:id="@+id/menusun"
android:icon="@mipmap/ic_launcher"
android:title="Sun" />
<item
android:id="@+id/mensat"
android:icon="@mipmap/ic_launcher"
android:title="Sat" />
<item
android:id="@+id/menuun"
android:icon="@mipmap/ic_launcher"
android:title="Sun" />
</menu>
</item>
</menu>
二、代码部分:
public class MainActivity extends AppCompatActivity {
private DrawerLayout drawerLayout;
private NavigationView navigationView;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化
init();
initListener();
}
private void init() {
textView = (TextView) findViewById(R.id.tv_open);
drawerLayout = (DrawerLayout) findViewById(R.id.drawerlayout);
navigationView = (NavigationView) findViewById(R.id.nv_layout);
//设置导航栏的图标的颜色为原来的颜色
// navigationView.setItemIconTintList(null);
}
private void initListener() {
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//打开侧滑菜单
drawerLayout.openDrawer(GravityCompat.START);
}
});
//设置导航栏的标题点击监听事件
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem item) {
selectItem(item.getItemId());
//设置二级标题可点击,貌似没成功!
item.setCheckable(true);
//关闭侧滑菜单
drawerLayout.closeDrawers();
return true;
}
});
}
private void selectItem(int itemId) {
switch (itemId) {
case R.id.menu_mon:
Toast.makeText(MainActivity.this, "点击Mon", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_tues:
Toast.makeText(MainActivity.this, "点击Tues", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_wed:
Toast.makeText(MainActivity.this, "点击Wed", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_thurs:
Toast.makeText(MainActivity.this, "点击Thurs", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_fri:
Toast.makeText(MainActivity.this, "点击Fri", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_sat:
Toast.makeText(MainActivity.this, "点击 Sat", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_sun:
Toast.makeText(MainActivity.this, "点击 Sun", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
}
记得添加依赖:
compile 'com.android.support:design:24.2.0'