美文网首页
侧滑菜单的使用

侧滑菜单的使用

作者: 今天也要努力呀y | 来源:发表于2019-07-23 20:27 被阅读0次

依赖 implementation 'com.android.support:design:28.0.0'
示例代码:

<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/drawerlayout"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <include layout="@layout/title_layout">
    </include>
    <LinearLayout
        android:layout_marginTop="70dp"
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:layout_height="match_parent">


        <android.support.v7.widget.RecyclerView
            android:id="@+id/student_list"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        </android.support.v7.widget.RecyclerView>
    </LinearLayout>

    <android.support.design.widget.NavigationView
        android:id="@+id/nav"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="left"
        app:headerLayout="@layout/headerlayout"
        app:menu="@menu/nav_menu">

    </android.support.design.widget.NavigationView>

</android.support.v4.widget.DrawerLayout>

新建一个menu(新建一个menu包,然后在下面建menu类型的resourse文件)

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/add"
        android:icon="@drawable/add"
        android:title="添加学生" />
    <item
        android:id="@+id/find"
        android:icon="@drawable/searchpeople"
        android:title="查询学生"/>
    <item
        android:id="@+id/explain"
        android:icon="@drawable/explain"
        android:title="使用说明"/>

</menu>

headerLayout布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_marginTop="50dp"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginBottom="25dp"
    android:gravity="center">
   <ImageView
       android:background="@drawable/welcome"
       android:layout_width="45dp"
       android:layout_gravity="center"
       android:layout_height="45dp" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="16sp"
        android:layout_marginTop="35dp"
        android:layout_marginBottom="18dp"
        android:text="我的博客"
        android:textIsSelectable="true" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="16sp"
        android:text="https://blog.csdn.net/qq873044564"
        android:textIsSelectable="true" />


</LinearLayout>

menu的点击事件

private void ininav() {
        navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
                switch (menuItem.getItemId()) {
                    case R.id.add:
                        //Toast.makeText(MainActivity.this, menuItem.getTitle(), Toast.LENGTH_SHORT).show();
                        Intent intent = new Intent(mcontext, AddStudent.class);
                        startActivity(intent);
                        LitePal.getDatabase();
                        drawerLayout.closeDrawer(navigationView);
                        break;
                    case R.id.find:
                        Intent intent1 = new Intent(mcontext, FindStudent.class);
                        startActivity(intent1);
                        drawerLayout.closeDrawer(navigationView);
                        break;
                    case R.id.explain:
                        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                        builder.setTitle("使用说明");
                        builder.setMessage("本软件提供学生的增删查改功能,其中删除和修改功能在查询学生的详细界面");
                        builder.setCancelable(true);
                        builder.setPositiveButton("我知道了", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                dialog.dismiss();
                            }
                        });
                        builder.show();
                        //drawerLayout.closeDrawer(navigationView);
                        break;
                    default:
                        break;
                }
                return true;
            }
        });
    }
@Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.open_nav:
                if (drawerLayout.isDrawerOpen(navigationView)) {
                    drawerLayout.closeDrawer(navigationView);
                } else {
                    drawerLayout.openDrawer(navigationView);
                }
                break;

        }
    }

相关文章

网友评论

      本文标题:侧滑菜单的使用

      本文链接:https://www.haomeiwen.com/subject/wmfzlctx.html