如何添加导航抽屉?

如何添加导航抽屉?,第1张

如何添加导航抽屉

尝试这样的 *** 作,对于布局文件,您只需要

<?xml version="1.0" encoding="utf-8"?><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"    android:fitsSystemWindows="true"    tools:openDrawer="start"><!-- Main content when drawer is closed -->    <include        layout="@layout/app_bar_nav"        android:layout_width="match_parent"        android:layout_height="match_parent" /><!-- The drawer, you can change the menu contents dynamically -->    <android.support.design.widget.NavigationView        android:id="@+id/nav_view"        android:layout_width="wrap_content"        android:layout_height="match_parent"        android:layout_gravity="start"        android:fitsSystemWindows="true"        app:headerLayout="@layout/nav_header"        app:menu="@menu/menu_nav" /></android.support.v4.widget.DrawerLayout>

实现可以像这样简单。

package com.example;public class NavigationDrawer extends AppCompatActivity        implements NavigationView.onNavigationItemSelectedListener {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_navigation_drawer);        //You should remove this if you have no intent of using it        //And if you uset it, to prevent double actionbars, use a style with no actionbar        //Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);//I like setting custom actionbar        //setSupportActionBar(toolbar);        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(     this, drawer, toolbar, "Open drawer", "Close drawer");        drawer.setDrawerListener(toggle);        toggle.syncState();        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);        navigationView.setNavigationItemSelectedListener(this);    }    @Override    public void onBackPressed() {        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START);        } else { super.onBackPressed();        }    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.note_home, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        return true;//or super.onOptionsItemSelected, false won't show menu    }    @SuppressWarnings("StatementWithEmptyBody")    @Override    public boolean onNavigationItemSelected(MenuItem item) {        // Handle navigation view item clicks here.        int id = item.getItemId();        switch (id) { case R.id.nav_camera:     break; case R.id.nav_gallery:     break; case R.id.nav_schedule:     break; case R.id.nav_manage:     //do someting silly     break;        }        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        drawer.closeDrawer(GravityCompat.START);        return true;    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5561899.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存