赞
踩
那么今天我主要是想来说说Google在Android5.0之后推出的NavigationView的具体使用方式。
NavigationView:
Google在5.0之后推出的NavitationView,所有的布局控件放在DrawerLayout中来使用,NavigationView的作用就像这样,实现侧拉效果。和DrawerLayout效果几分差异,QQ从左至右从边滑动的侧拉效果。上半部分图片背景,圆形头像,下面每一个都是导航菜单现在就来实现一下它(虽然是Iphone图,但是没关系了,就是这个道理)。
//第一步先导入依赖
implementation 'com.android.support:design:28.0.0
//效果
//开始写布局
<RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/main_radiofroup" android:orientation="horizontal" > <RadioButton android:id="@+id/radioButton" android:layout_width="wrap_content" android:layout_height="40dp" android:layout_weight="1" android:button="@null" android:gravity="center" android:background="@drawable/select_radio" android:text="首页" /> <RadioButton android:id="@+id/radioButton2" android:layout_width="wrap_content" android:layout_height="40dp" android:layout_weight="1" android:button="@null" android:gravity="center" android:background="@drawable/select_radio" android:text="视频" /> <RadioButton android:id="@+id/radioButton3" android:layout_width="wrap_content" android:layout_height="40dp" android:layout_weight="1" android:button="@null" android:gravity="center" android:background="@drawable/select_radio" android:text="我的" /> </RadioGroup> </LinearLayout>
如果页面有别的布局 NavigationView 一定要写在最下方 否则 则无法点击
<android.support.design.widget.NavigationView
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#75efae"
app:headerLayout="@layout/drawview"
app:menu="@menu/menu"
android:id="@+id/NavigationView"
>
</android.support.design.widget.NavigationView>
app:headerLayout="@layout/drawview"布局
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <item android:id="@+id/menu_item1" android:title="功能列表1"></item> <item android:id="@+id/menu_item2" android:title="功能列表2"></item> <item android:id="@+id/menu_item3" android:title="功能列表3"></item> <item android:id="@+id/menu_item4" android:title="功能列表4"></item> <item android:id="@+id/item5" android:title="功能列表5"></item> </group> </menu> 引用 app:headerLayout="@layout/drawview" 作用并不太 <ImageView android:id="@+id/draw_imageView" android:layout_width="80dp" android:layout_height="80dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="19dp" android:background="@drawable/aa"/> <TextView android:id="@+id/draw_textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="110dp" android:text="用户名" />
MainActivity代码
//获取资源id NavigationView navigationView =findViewById(R.id.NavigationView); navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { switch (menuItem.getItemId()) { case R.id.menu_item1: Toast.makeText(MainActivity.this, "第一个", Toast.LENGTH_SHORT).show(); break; case R.id.menu_item2: Toast.makeText(MainActivity.this, "第2个", Toast.LENGTH_SHORT).show(); break; case R.id.menu_item3: Toast.makeText(MainActivity.this, "第3个", Toast.LENGTH_SHORT).show(); break; case R.id.menu_item4: Toast.makeText(MainActivity.this, "第4个", Toast.LENGTH_SHORT).show(); break; } return true; } });
今天才学 不太会 请见谅 !!!
`
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。