(转载) 使用DrawerLayout和NavigationView从右侧出现
2024-08-31 11:44:39
分类:
android(9)
版权声明:本文为博主原创文章,未经博主允许不得转载。
本文地址:http://blog.csdn.net/u011181236/article/details/51985242
1.布局要注意的就是
Android:layout_gravity=”right”
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="right"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
2.Java代码
这个是设置toolbar里左上角menu按钮的点击事件
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!drawer.isDrawerOpen(setDrawerGravity())) {
drawer.openDrawer(setDrawerGravity());
}
}
});
3.这里只有4个属性可用
Gravity.LEFT to move the left drawer or Gravity.RIGHT for the right.GravityCompat.START or GravityCompat.END may also be used.
private int setDrawerGravity() {
return Gravity.RIGHT;
}
4.返回键处理
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(setDrawerGravity())) {
drawer.closeDrawer(setDrawerGravity());
} else {
super.onBackPressed();
}
}
5.NavigationView 的item点击处理
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener(){
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(setDrawerGravity());
int id = item.getItemId();
if (id == R.id.nav_camera) {
// Handle the camera action
}
return true;
}
});
1
最新文章
- Java事务处理
- Tomcat配置错误导致Quartz执行两次问题
- SQLSERVER2008新增的审核/审计功能
- C#入门经典第五版之变量与表达式编码题训练
- tcpdump 时报ServFail 0/0/1 (97)
- python 多行字符串
- jsp 多条记录提交
- Schema-based AOP support
- Spring Boot整合Dubbo使用及开发笔记
- Thinkphp5 实现悲观锁
- MySQL的入门
- python input()键盘输入8583报文带有\x单反斜杠自动转义问题解决办法
- 贝叶斯、朴素贝叶斯及调用spark官网 mllib NavieBayes示例
- JAVA基础知识笔记
- 摹客首家发布Adobe XD插件
- layui 弹出层监听 判断弹出框的大小
- 【刷题】LOJ 6011 「网络流 24 题」运输问题
- [置顶] 解决EXTJS文本框长度验证在ORACLE数据库下不正确的问题
- [CF1111C]Creative Snap
- 关于angular的好文推荐
热门文章
- Neo4j沙盒实验申请过程步骤(图文详解)
- HD-ACM算法专攻系列(14)——find your present (2)
- DB2报“数据库日志已满”问题解决
- Dynamic dispatch mechanisms
- CDR查找替换对象操作详解
- Django中模块的加载原理
- JS table分页
- Kz.layedit-layui.layedit富文本编辑器拓展
- UVALive-7197 Axles 动态规划 多个背包问题
- S5PV210 三个Camera Interface/CAMIF/FIMC的区别