Android侧滑菜单的实现

Android 侧滑菜单的实现(NavigationView) 很早之前就像写个android的侧滑菜单加入到项目中了,但是很多给的都是密密麻麻的代码,今天看到了简单快速的实现方法:通过NavigationView+DrawLayout来实现侧滑菜单的功能。Google I/O 2015 给大家带来了AndroidDesign Support Library,对于希望做md风格的app的来说,简直是天大的喜讯.NavigationView是是Google 阅读详情

一直看别人应用里面有一个侧滑菜单,感觉好酷毙,但是自己也不会写,那个心情叫做难过了,恨自己不会。我也百度了一段时间,只恨自己的水平不高,看不懂代码,所以就找了许多的例子,但是还看不懂,终于一次偶然的机会,我找到了,是的,找到了。这个代码就很简单了,因为它提供了别人写的一个类,就是布局类,直接可以在XML中使用,然后就可以直接运行了,至于要加什么东西,就随自己的心意了。

好了,不多说了,现在开始讲实现的过程,真的很简单,句相当于提供了一个已经有的空间,你所要做的就是往里面填代码,然后就可以运行了。(当时看别人牛逼,是不是他用的也是这个类啊,其实大家也差不多嘛)

效果图给大家看一下:



正如效果图所示,菜单在左边,向右滑动时,主界面向右移动,菜单慢慢出来,比Android自己提供的那种菜单要炫酷多了。

好了,说了那个类到底是哪个呢?

SlideHolder,它是FrameLayout的子类(它不是Android提供的,是别人自己写的),也就是说,这个是在XML布局文件中使用的,如下面的代码,它是MainActivity的布局代码:

<span style="font-size:18px;"><com.example.slidemenu_test.SlideHolder xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/holder"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
    <ScrollView 
        android:layout_width="200dp"
        android:layout_height="fill_parent"
        android:background="#000000"
        >
        <LinearLayout 
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical"
            >
            <TextView 
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="菜单1"
                android:textColor="#ffffff"
                android:textSize="25sp"
                />
            <TextView 
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="菜单2"
                android:textColor="#ffffff"
                android:textSize="25sp"
                />
        </LinearLayout>
    </ScrollView>
    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:background="@drawable/bg"
        >
        <LinearLayout 
            android:layout_width="fill_parent"
            android:layout_height="50dp"
            >
            <ImageButton
                android:id="@+id/imageButton" 
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:src="@drawable/btn_icon"
                android:background="#0000"
                />
            
        </LinearLayout>
    </LinearLayout>
</com.example.slidemenu_test.SlideHolder></span>

接下来我对这个代码进行说明,在新建一个Android项目的时候,Eclipse会自动生成activity_main.xml代码,它是MainActivity的布局文件,我们需要把activity_main.xml里面的内容换成上面所示,然后就可以直接运行了。在上面的代码中,首先是ScrollView,也就是菜单,我们往这个布局里面加入自己想要的内容,我就随便加了一点,做为测试嘛,接下来是一个布局LinearLayout,这个就是主界面了,也就是不滑动的时候显示的界面,在这里面,我加了一个按钮来控制菜单的弹出,当然也可以不设置,可以直接运行的,但是许多应用都设置了,我也就设置一下,我添加了一个ImageButton,在MainActivity里面对它进行了设置,下面我们来看MainActivity的代码(简单易懂):

package com.example.slidemenu_test;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;

public class MainActivity extends Activity {

	private ImageButton mBtn;
	private SlideHolder mSlideHolder;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		mBtn = (ImageButton) findViewById(R.id.imageButton);
		mSlideHolder = (SlideHolder) findViewById(R.id.holder);
		mBtn.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				mSlideHolder.toggle();
			}
		});
	}
}
在这个代码里,有一个ImageButton对象和一个SlideHolder对象,给ImageButton添加事件,点击一下就弹出菜单,弹出菜单也比较简单,就一行代码mSlideHolder.toggle(); 函数toggle是SlideHolder中的方法大家想了解更多的我把源码下载下来自己多了解吧。

好了,至此,一个侧滑菜单就出来了(站在别人的肩膀上,我能看的更远^_^)

源码:点此下载

Android之实现侧滑菜单(左侧) 还是只有忙完才有点时间来更新博客 阅读详情

相关推荐

android实现菜单侧滑栏,Android侧滑-RecyclerView轻松实现高效的侧滑菜单

原标题:Android侧滑-RecyclerView轻松实现高效的侧滑菜单一 前言利用系统类ItemTouchHelper实现简单高效的RecyclerView侧滑菜单!仿qq的侧滑,跟随滑动… 简单的侧滑点击删除,覆盖滑动… 二 知识准备ItemTouchHelper是Android系统提供的一个帮助类,可以很轻松的用它实现长按拖拽和侧滑删除功能(这里的是侧滑之后直接删除整条Item),下面来看...

weixin_42512836的博客 1054

Android中侧滑菜单的实现

之前一直没有写侧滑菜单的实现方法,今天计划补上。手机开发中,往往存在很多功能没处放的问题。我们可能会把功能放入一个菜单列表,但现在一种流行的做法是侧滑菜单。侧滑菜单的做法其实是多种多样的,这里介绍一种我们常用的方法,也是Android自身为我们提供的,那就是DrawerLayout。 1.DrawerLayout相关API setDrawerShadow:设置主页面的渐变阴影图形。 addDrawerListener:添加抽屉面板的拉出监听器。需实现监听器DrawerListener的4个方法。 o

水月洞天 5245

Android之十SlidingMenu侧滑菜单的实现分析

Android之十SlidingMenu侧滑菜单的实现分析 SlidingMenu侧滑菜单是一种比较新的设置界面或配置界面的效果,在主界面左滑或者右滑出现设置界面效果,能方便的进行各种操作。很多优秀的应用都采用了这种界面方案,像facebook、人人网、everynote、Google+、网易新闻、知乎日报、有道云笔记等等 侧滑菜单实现原理: 在一个Activity的布局中需要有

zhupengqq的博客 3140

Android入门教程 | DrawerLayout 侧滑栏

DrawerLayout 是实现了侧滑菜单效果的控件。

Android23333的博客 1375

Android利用DrawerLayout实现侧滑菜单

侧滑菜单是Android5.0 Material Design中最常见的效果之一,现在市场上很多的应用都有滑动菜单的功能,如qq。利用google提供的工具,我们也可以轻松实现这种效果。这种侧滑菜单将一些功能菜单隐藏起来,手指滑动时可以显示出来,点击可以跳转到相应的功能界面,这样可以有效的节省屏幕空间。 现在我们利用系统提供的DrawerLayout控件,实现侧滑菜单不仅简单,而且很方便。效果图

gongwq的博客 3094

【Android笔记83】Android之侧滑菜单SlidingMenu的使用

SlidingMenu是Github上面一个开源的侧滑菜单组件,最开始的时候SlidingMenu是应用在IOS系统上,后面慢慢衍生到了Android系统上面,并且SlidingMenu被使用在很多的APP上面。如何引入SlidingMenu组件依赖???在Android Studio中创建一个工程,然后再工程中创建一个Module模块。弹出框中,选择左下角的【Import】,然后选择SlidingMenu解压之后的【library】目录导入工程。

✅ Java 开发工程师 982

Android 之 DrawerLayout (官方侧滑菜单)的简单使用

官方给我们提供的一个侧滑菜单 控件,和上一节的ViewPager一样,3.0以后引入,低版本使用它,需要v4兼容包,说到侧滑,相信 很多人都用过github上的SlidingMenu,不过好像有两个版本,一个是单独的,另一个需要依赖另一 个开源项目:ActionBarSherlock;嗯,不知道你有没有发现,从上面的DrawerLayout的布局,我们大概可以猜到,DrawerLayout 最多由三个部分组成,中间的内容部分,左边的侧滑菜单部分,右边的侧滑菜单部分组成!当然你可以根据自己的需求进行扩展!

leyang0910的博客 7292

Android侧滑菜单实现:深入掌握DrawerLayout

本文还有配套的精品资源,点击获取 简介:介绍了Android中 DrawerLayout 组件的使用方法,这是实现侧滑菜单的关键布局。通过XML布局配置、代码中滑动事件监听以及汉堡菜单触发器的实现,可以创建一个包含主内容和可滑动抽屉视图的用户界面。文章还包括了如何填充抽屉内容和处理菜单项点击事件的详细步骤,为开发者提供了一个功能完善的侧滑菜单实现方案。 1. Dr...

weixin_42590539的博客 2842

android 侧滑菜单_安卓实现菜单侧滑

Android 侧滑菜单的实现,参考网上的代码,实现侧滑菜单。最重要的是这个动画类UgcAnimations,如何使用动画类来侧滑的封装FlipperLayout。1、实现效果2、动画类UgcAnimationspackage com.mmsx.base; import android.content.Context; import android.view.View; import androi...

weixin_39716088的博客 273

全面掌握Android侧滑菜单设计与实现

SlidingMenu库是Android平台上用于实现侧滑菜单的流行开源库,它提供了一种简单而高效的方式,可以快速实现应用中的侧滑导航功能。在本章节,我们首先介绍如何在项目中引入SlidingMenu库,包括依赖项的添加和基础的配置步骤。为了在项目中使用SlidingMenu库,你需要在项目的文件中添加以下依赖:安装完毕后,进行简单的初始化配置。以下是初始化SlidingMenu的基本代码:这段代码将滑动菜单的模式设置为从左侧滑入,并将内容视图与菜单视图绑定。

weixin_35879493的博客 1124

Fast DDS源代码走读

DDS, PDP, EPD, DataWriter, DataReader

weixin_43082062的博客 713

android 侧滑菜单实现

android中很多产品都

zhouguizhi 1037

ZYNQ平台上基于PHY芯片的IEEE1588/PTP高效实现方案

本文详细解析了在Xilinx ZYNQ平台上,如何通过选用支持IEEE1588/PTP的专用PHY芯片(如RTL8211FS-VS-CG、DP83640)来实现高精度时间同步的高效方案。文章对比了PS端与PL端MAC连接的优劣,提供了从硬件选型、接口设计、Linux驱动适配到PTP协议栈配置与性能优化的完整实战指南,并总结了关键避坑经验,为工业网络、电力系统等需要纳秒级同步的应用提供了清晰、可靠的实施路径。

kkk56的博客 1091

Android Studio实现侧滑菜单(最佳)

在优快云中我们会看到很多侧滑的案例,但是有的不是少这个就是少那个,很浪费时间,所以我们要仔细看看代码全不全。在多种APP里,比如QQ的主页面就有向右滑动出现菜单栏的情况,今天就来看一下如何实现这种功能。 我的工程文件布局如下: 我们可以看到,侧滑菜单主要由两个页面组成,主页面和Menu页面,现在先来把布局文件写好。可以看到Menu页面的条目有...

shenggaofei的博客 2万+

Isaac Sim 使用经验(配置要求,云服务器)

Google Colab及AutoDL都是在docker内运行,其中google colab并不支持docker指令,而依照AutoDL的相关文档,AutoDL并不直接提供docker指令。2. Google Colab/AutoDL 不支持图形化界面,图形渲染等任务,所以没有办法使用Omniverse Streaming进行直播,从而更好的对结果进行展示。对于第一点,或许存在直接手动复现镜像的可能,但是考虑到Isaac Sim/Isaac Lab由于比较新,可能不够稳定,因此还是按照官方文档进行部署。

weixin_44211433的博客 4589

K8s私有仓库拉取镜像报错解决:x509 certificate signed by unknown authority

在Kubernetes环境中使用自签名证书的私有Harbor镜像仓库时,常会遇到证书验证失败的问题。本文将详细讲解如何解决这个常见的证书问题。Kubernetes版本:1.28.2容器运行时:containerd 1.6.20私有仓库:Harbor(使用自签名证书)(超简单搭建私有仓库Harbor-亲测无坑解决K8s私有仓库证书问题的关键在于正确配置容器运行时(本例中是containerd)信任私有仓库的证书。

lzz的博客 2140

教你用DrawLayout 实现Android 侧滑菜单

现在的APP越来越注重用户体验,百度视频客户端有一个特效还是挺吸引人的,在主界面手指向右滑动,就可以将菜单展示出来,而主界面会被隐藏大部分,但是仍有左侧的一小部分同菜单一起展示。类似的还有天天动听,人人的客户端。 这个侧滑菜单的实现网上也有很多方法,比如最常用的是开源的SlidingMenu . 还有一种实现方式是在一个Activity的布局中分两部分,一个是菜单(menu)的布局,一个是内容

笑傲人生的博客 1660

10BASE-T1S协议中的PLCA机制:实现无碰撞网络传输的关键

本文深入解析了10BASE-T1S协议中的PLCA(物理层冲突避免)机制。作为IEEE 802.3cg标准的关键部分,PLCA通过循环调度与机会传递,从根源上避免了网络碰撞,为工业与汽车等场景提供了确定性的低延迟传输保障,是实现可靠实时通信的核心技术。

weixin_29250403的博客 210

android动态侧滑菜单,【Android】侧滑菜单的实现方式

对于侧滑菜单的实现方式,一种比较标准化的实现方式是DrawerLayout + NavigationView的方式,该方式的实现过程可以看我的另一篇博客【Android】Material Design 之三 NavigationView 使用?。然而,DrawerLayout + NavigationView的侧滑实现有个缺点就是,菜单的布局是单一的,只有一个图标、一个标题,当我们想要实现丰富的菜...

weixin_35743986的博客 598

手把手教你用YOLOv5和OpenCV实现DNF全自动刷图(含自动拾取与Boss战逻辑)

本文详细介绍了如何使用YOLOv5和OpenCV构建DNF全自动刷图系统,包括环境配置、游戏画面采集、目标检测、场景导航及操作控制等核心模块。通过实战案例,帮助开发者掌握游戏自动化技术,实现自动拾取与Boss战逻辑,提升游戏效率。

weixin_42628941的博客 448

华为灵衢UB总线介绍

华为发布"灵衢"(UB)超节点互联协议,旨在构建支持AI大模型计算的基础设施。该协议采用统一内存语义和对等架构,使设备可直接访问远程内存,实现资源池化。技术突破包括2.1微秒超低时延和TB级带宽,支持64节点、52万张昇腾卡的集群互联。相比传统RDMA,"灵衢"更注重系统级资源调度,而非单纯数据传输。华为开放技术规范,推动生态建设,已有厂商开发兼容IP核。"灵衢"可适应x86、RISC-V等架构,未来将扩展至百万卡规模集群。

技术引领业务创新 4425

android studio 侧滑菜单,Android Studio实现侧滑菜单(最佳)

在优快云中我们会看到很多侧滑的案例,但是有的不是少这个就是少那个,很浪费时间,所以我们要仔细看看代码全不全。在多种APP里,比如QQ的主页面就有向右滑动出现菜单栏的情况,今天就来看一下如何实现这种功能。 我的工程文件布局如下: 我们可以看到,侧滑菜单主要由两个页面组成,主页面和Menu页面,现在先来把布局文件写好。可以看到Menu页面的条目有许多相同的属性,所以为了减少代码的书写量,我们可以在...

weixin_33198642的博客 1591

功能安全实战系列12-英飞凌TC3xx锁步核及其自检开发

本文介绍了英飞凌Tricore系列芯片的锁步核(Lockstep Core)功能及其故障注入自检机制。锁步核通过主核和检查核同步执行指令,并比较输出结果来检测硬件故障。文章详细阐述了锁步核的工作原理、使能配置方法以及故障注入自检的实现过程。故障注入测试通过专用寄存器LCLTEST触发,系统会定期自动测试比较器节点,验证锁步核的故障检测能力。当检测到异常时,会触发SMU模块的警报机制。该技术为汽车电子系统提供了重要的功能安全保障。

initiallizer的博客 920
上一篇: 关于Activity向右滑动销毁的具体实现
下一篇: Android开发中根据图片名称获取在drawable中的ID
潘建成
博客等级 码龄12年 139粉丝 120原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值