当前位置: 首页 > 编程笔记 >

Android实现侧滑菜单DrawerLayout

佟英武
2023-03-14
本文向大家介绍Android实现侧滑菜单DrawerLayout,包括了Android实现侧滑菜单DrawerLayout的使用技巧和注意事项,需要的朋友参考一下

本文实例为大家分享了Android实现侧滑菜单的具体代码,供大家参考,具体内容如下

点击左侧滑动

效果如下

代码实现过程:

1.导入框架build.gradle

//materialDesign
implementation 'com.google.android.material:material:1.0.0'

2.xml文件

主要的界面放在DrawerLayout 中,需要强调的是侧滑菜单也就是下图显示的TextView一定要设置layout_gravity属性,我是从左侧滑动的,所以设置为start

<androidx.drawerlayout.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"
 android:fitsSystemWindows="true"
 tools:context=".MainActivity">

 <androidx.constraintlayout.widget.ConstraintLayout
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <androidx.appcompat.widget.Toolbar
   android:id="@+id/toolbar"
   android:layout_width="match_parent"
   android:layout_height="?attr/actionBarSize"
   android:background="@color/colorPrimary"
   app:layout_constraintTop_toTopOf="parent"
   app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

 </androidx.constraintlayout.widget.ConstraintLayout>

 <TextView
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:layout_gravity="start"
  android:background="#FFFFFF"
  android:fitsSystemWindows="true"
  android:text="i am a textView" />

</androidx.drawerlayout.widget.DrawerLayout>

3.MainActivity

绑定xml文件中的toobar

protected void setupToobar() {
  toolbar = findViewById(R.id.toolbar);
  setSupportActionBar(toolbar);
  if (null != getSupportActionBar()) {
   getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  }
 }

MainActivity 中将点击之后触发侧边滑动的图片ic_menu动态放到toolbr中

@Override
 protected void setupViews() {
  setupToobar();
  drawerLayout = findViewById(R.id.drawer);
  if (null != getSupportActionBar()) {
   getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_menu);
  }
 }

android.R.id.home 触发左侧滑动

@Override
 public boolean onOptionsItemSelected(MenuItem item) {
  switch (item.getItemId()) {
   case android.R.id.home:
    drawerLayout.openDrawer(GravityCompat.START);
    break;
   case R.id.item_search:
    Toast.makeText(MainActivity.this, "搜索", Toast.LENGTH_SHORT).show();
  }
  return true;
 }

到这就结束了。

4.后话

可以在主内容区里面再放一个布局,里面放各个fragment,就可以实现每个页面都有侧滑菜单的效果。
侧滑菜单里面的布局可以新建一个xml文件,然后include,可以看起来舒服点吧。
其他的效果后面慢慢来吧。
github下载地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Android中DrawerLayout实现侧滑菜单效果,包括了Android中DrawerLayout实现侧滑菜单效果的使用技巧和注意事项,需要的朋友参考一下 众所周知,android里面我们很熟悉的一个功能,侧滑菜单效果在以前我们大部分都是用的slidingmenu这个开源框架,自从谷歌官方新出的一个DrawerLayout控件之后,越来越多的应用开始使用谷歌的官方的控件写这个效

  • 本文向大家介绍Android使用DrawerLayout实现仿QQ双向侧滑菜单,包括了Android使用DrawerLayout实现仿QQ双向侧滑菜单的使用技巧和注意事项,需要的朋友参考一下 1、概述 之前写了一个Android 高仿 QQ5.0 侧滑菜单效果 自定义控件来袭 ,恰逢QQ5.2又加了一个右侧菜单,刚好看了下DrawerLayout,一方面官方的东西,我都比较感兴趣;另一方面,这玩意

  • 本文向大家介绍Android实现原生侧滑菜单的超简单方式,包括了Android实现原生侧滑菜单的超简单方式的使用技巧和注意事项,需要的朋友参考一下 先来看看效果图 当你点击菜单可以更改图标,例如点击happy,首页就会变一个笑脸,这个实现的过程超级简单 你需要使用ToolBar与DrawableLayout两个比较新的控件 首先要写三个xml布局文件,我这里的布局文件是使用了include标签嵌入

  • 本文向大家介绍Android自定义控件简单实现侧滑菜单效果,包括了Android自定义控件简单实现侧滑菜单效果的使用技巧和注意事项,需要的朋友参考一下 侧滑菜单在很多应用中都会见到,最近QQ5.0侧滑还玩了点花样~~对于侧滑菜单,一般大家都会自定义ViewGroup,然后隐藏菜单栏,当手指滑动时,通过Scroller或者不断的改变leftMargin等实现;多少都有点复杂,完成以后还需要对滑动冲突

  • 本文向大家介绍Android实现网易新闻客户端侧滑菜单(1),包括了Android实现网易新闻客户端侧滑菜单(1)的使用技巧和注意事项,需要的朋友参考一下 Android中很多产品(比如360手机助手、网易菜单...)都采用侧滑菜单的展现形式,采用这种展现形式 1、能把更多的展现内容都存放在菜单中 2、设计上也能体现出视觉效果 现在这种交互方式越来越流行了,虽然这种交互方式可以通过自定义组件的方式

  • 本文向大家介绍Android实现网易新闻客户端侧滑菜单(2),包括了Android实现网易新闻客户端侧滑菜单(2)的使用技巧和注意事项,需要的朋友参考一下 前面已经讲过通过三方开源库SlideMenu来实现这种效果,请参考Android实现网易新闻客户端侧滑菜单(一) 今天通过自定义View来实现这种功能。 代码如下: SlideMenu.java MainActivity.java 系列文章: