NavigationView的使用
来源:互联网 发布:win10电脑如何优化 编辑:程序博客网 时间:2024/06/01 10:49
简介:
NavigationView是Google在Android5.0之后,推出的左侧侧拉菜单控件。
如何使用:
item布局文件
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/gesturePassword" android:checkable="true" android:icon="@mipmap/ic_launcher" android:textSize="16sp" android:title="设置手势密码" /> <group android:id="@+id/line1" android:checkableBehavior="none"> <item android:id="@+id/help" android:checkable="true" android:icon="@mipmap/ic_launcher" android:textSize="16sp" android:title="帮助中心" /> <item android:id="@+id/serialnumber" android:checkable="true" android:icon="@mipmap/ic_launcher" android:textSize="16sp" android:title="乾坤锁序列号" /> </group> <group android:id="@+id/line2" android:checkableBehavior="none"> <item android:id="@+id/share" android:checkable="true" android:icon="@mipmap/ic_launcher" android:textSize="16sp" android:title="推荐给好友" /> <item android:id="@+id/update" android:checkable="true" android:icon="@mipmap/ic_launcher" android:textSize="16sp" android:title="检查更新" /> <item android:id="@+id/feedback" android:checkable="true" android:icon="@mipmap/ic_launcher" android:textSize="16sp" android:title="反馈问题" /> <item android:id="@+id/about" android:checkable="true" android:icon="@mipmap/ic_launcher" android:textSize="16sp" android:title="关于APP" /> </group> <item android:id="@+id/Loginout" android:checkable="true" android:icon="@mipmap/ic_launcher" android:textSize="16sp" android:title="注销手机" /> <!-- <item android:id="@+id/score" android:checkable="true" android:icon="@mipmap/icon_grade" android:title="去评分" android:textSize="@dimen/base16dp"/>--></menu>
head布局文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="120dp" android:background="#9999cc" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="90dp" android:layout_marginLeft="16dp" android:layout_marginRight="16dp" android:orientation="horizontal"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" android:gravity="center_vertical" android:orientation="horizontal"> <ImageView android:id="@+id/iv_head" android:layout_width="wrap_content" android:layout_height="wrap_content" android:clickable="false" android:enabled="true" android:src="@mipmap/ic_launcher" /> <TextView android:id="@+id/tv_phonenumber" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:clickable="true" android:enabled="true" android:textColor="#111111" android:textSize="18dp" /> </LinearLayout> </LinearLayout> </LinearLayout> <View android:layout_width="match_parent" android:layout_height="2dp" android:background="#888888"/></LinearLayout>
使用
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/id_drawer_layout" android:layout_width="match_parent" android:fitsSystemWindows="true" android:layout_height="match_parent">
<android.support.design.widget.NavigationView android:background="#ffffff" android:id="@+id/id_nv_menu" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" app:menu="@menu/menu_drawer_item"/></android.support.v4.widget.DrawerLayout>
代码
mDrawerLayout = (DrawerLayout) findViewById(R.id.id_drawer_layout);NavigationView mNavigationView = (NavigationView) findViewById(R.id.id_nv_menu);mNavigationView.setNavigationItemSelectedListener(this);View headerLayout = mNavigationView.inflateHeaderView(R.layout.menu_header_item);TextView maskPhoneNmber = (TextView) headerLayout.findViewById(R.id.tv_phonenumber);maskPhoneNmber.setText("13146236551");
实现
implements NavigationView.OnNavigationItemSelectedListener
@Overridepublic boolean onNavigationItemSelected(MenuItem menuItem) { mDrawerLayout.openDrawer(GravityCompat.START); String flag ; switch (menuItem.getItemId()) { case R.id.gesturePassword://手势密码 flag = "手势密码"; break; case R.id.help://帮助 flag = "帮助"; break; case R.id.feedback://反馈 flag = "反馈"; break; case R.id.about://关于 flag = "关于"; break; case R.id.serialnumber://乾坤锁序列号 flag = "乾坤锁序列号"; break; case R.id.update://检查更新 flag = "检查更新"; break; case R.id.share://分享 flag = "分享"; break; case R.id.Loginout://注销 flag = "注销"; break; default: flag = "未知"; break; } UIThreadUtil.showToast(MainActivity.this,flag); menuItem.setCheckable(false); mDrawerLayout.closeDrawers(); return true;}
问题解决:
1.侧拉栏icon和文字间距太小
<dimen name="design_navigation_icon_padding">5dp</dimen>
2.点击item松开后,不释放选中状态
menuItem.setCheckable(false);
3.icon过大
抠图时多加些透明边距
4.icon颜色加重了
mNavigationView.setItemIconTintList(null);
0 0
- NavigationView的使用
- NavigationView的简单使用
- NavigationView 的使用
- NavigationView的基本使用
- NavigationView的使用
- NavigationView的使用
- NavigationView的使用
- NavigationView的简单使用
- NavigationView的使用
- NavigationView的使用
- NavigationView的使用
- NavigationView的使用
- NavigationView的使用
- NavigationView 的使用
- Navigationview的使用
- NavigationView的使用
- NavigationView使用后的限制
- NavigationView使用过程的问题解决
- android.text.format.Formatter调用formatFileSize后返回负值的原因
- Mac系统显示与隐藏文件
- 如何在shell脚本中嵌入Oracle数据库操作
- 几种遍历对比
- Java5新特征之foreach语句使用总结
- NavigationView的使用
- 程序员的沟通之痛
- 说说IO(三)- IO性能的重要指标
- 算法提高 金明的预算方案
- 冒泡排序(BubbleSort)
- runtime
- OpenCv学习笔记(二)—cv::Mat学习
- ROI_PAC相关网址
- centos7安装php的openssl扩展