两分钟实现 NavigationView 侧滑菜单
来源:互联网 发布:数学分析视频知乎 编辑:程序博客网 时间:2024/05/24 05:39
前言
Google 在 Android 5.0 后推出了官方的侧滑实现,在谷歌爸爸自家 App 中被大量运用,以前需要自己写,现在好了官方版本直接用轮子,接下来我们来看看怎样实现。
实现效果
目录
- 布局文件
- Java 代码
布局文件
- 在 DrawerLayout 中添加 NavigationView
<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:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/drawer_layout" tools:context="com.example.ethan.navigationviewtest.MainActivity"> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="主页面" android:textSize="32sp"/> </FrameLayout> <android.support.design.widget.NavigationView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/nav" //导入头布局 app:headerLayout="@layout/nav_header_layout" //导入Menu app:menu="@menu/menu" android:layout_gravity="start" ></android.support.design.widget.NavigationView></android.support.v4.widget.DrawerLayout>
- 手写 HeaderLayout 和 Menu
这里我用一个开源控件设置圆角头像,在Gradle中添加
compile 'de.hdodenhof:circleimageview:2.1.0'
接下来是 HearderLayout
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="180dp" android:background="?attr/colorPrimary"> <de.hdodenhof.circleimageview.CircleImageView android:layout_width="70dp" android:layout_height="70dp" android:id="@+id/icon_image" android:layout_centerInParent="true" android:src="@mipmap/timg" /></RelativeLayout>
Menu
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/nav_android" android:icon="@drawable/ic_android_black_24dp" android:title="Android" /> <item android:id="@+id/nav_announce" android:icon="@drawable/ic_announcement_black_24dp" android:title="消息" /> <item android:id="@+id/nav_apps" android:icon="@drawable/ic_apps_black_24dp" android:title="设置" /> <item android:id="@+id/nav_archive" android:icon="@drawable/ic_archive_black_24dp" android:title="下载文件" /></menu>
Java 代码
public class MainActivity extends AppCompatActivity { private DrawerLayout drawerLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_navigation); NavigationView navigationView = findViewById(R.id.nav); drawerLayout = findViewById(R.id.drawer_layout); navigationView.setCheckedItem(R.id.nav_android); // navigationView.setItemIconTintList(null); //设置NavigationView的监听器 navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { drawerLayout.closeDrawers(); return true; } }); }}
阅读全文
0 0
- 两分钟实现 NavigationView 侧滑菜单
- Iwfu-NavigationView实现侧滑菜单
- NavigationView+Drawerlayout+Toolbar实现侧滑菜单
- DrawerLayout + NavigationView实现侧滑菜单
- DrawerLayout+NavigationView实现侧滑菜单
- DrawerLayer+NavigationView 实现侧滑菜单
- NavigationView 实现侧滑菜单 改变菜单颜色的属性
- 侧滑菜单 Drawerlayout navigationView
- NavigationView原生侧滑菜单
- NavigationView+DrawerLayout 侧滑菜单
- Android DrawerLayout+NavigationView布局实现左右两边侧滑菜单
- Android实现侧滑抽屉菜单(DrawerLayout+NavigationView+toolbar)
- 侧滑菜单的简单实现(DrawerLayout+Toolbar+NavigationView)
- Android 侧滑菜单的实现(NavigationView)
- 学习使用NavigationView,实现QQ侧滑菜单
- Kotlin实现侧滑抽屉菜单(DrawerLayout+NavigationView+Toolbar)
- 抽屉菜单与侧滑菜单. NavigationView
- 侧滑菜单 drawerlayout 与 NavigationView
- poj日记(1936)
- 最大公约数、最小公倍数
- STM32红外遥控实验(发射器和接收器)
- deepmind_lab 运行 game_lib_sdl 需要下面的东西
- 用虚拟机搭建微软SQL server数据库
- 两分钟实现 NavigationView 侧滑菜单
- linux————fastDFS说明
- Spring学习,集合类的自动注入
- d3.js-svg的效果及样式
- 傅里叶变换
- 【TensorFlow】数据处理(将MNIST转为TFRecord)
- java.lang.Double转成String
- Gym
- deepmind_lab 运行ASSETS 需要下面的东西