博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android UI(三)SlidingMenu实现滑动菜单(详细 官方)
阅读量:6947 次
发布时间:2019-06-27

本文共 2845 字,大约阅读时间需要 9 分钟。

Jeff Lee blog:     (泥沙砖瓦浆木匠),retain the url when reproduced ! Thanks

效果图:

求资源到首页上部加群即可。

一. SlidingMenu简介

github:

官网上面的简介上翻译的:

SlidingMenu是能让开发者很容易的开发有滑动菜单App(像Google+,YouTube,Facebook)的开源android库。只要引入这个开源库的许可代码,就可以很容易免费的用在你想要滑动菜单的app。如下图所示:

                                                                                                 

 

二.官方小例子

public class SlidingExample extends Activity {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setTitle(R.string.attach);        // set the content view        setContentView(R.layout.content);        // configure the SlidingMenu        SlidingMenu menu = new SlidingMenu(this);        menu.setMode(SlidingMenu.LEFT);        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);        menu.setShadowWidthRes(R.dimen.shadow_width);        menu.setShadowDrawable(R.drawable.shadow);        menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);        menu.setFadeDegree(0.35f);        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);        menu.setMenu(R.layout.menu);    }}

 

自然你也可以用xml定义一个slidingMenu

 

官方文档翻译如下:

  • viewAbove - 在菜单之上的布局引用
  • viewBehind - 在菜单之下的布局引用
  • touchModeAbove - 指那一部分屏幕触摸后视图显示
  • behindOffset - 菜单显示时,主体显示多少(单位像素)
  • behindWidth - 菜单显示,主体显示的宽。默认全屏
  • behindScrollScale - 菜单显示的滚动设置
  • shadowDrawable - 滚动阴影设置
  • shadowWidth - 滚动阴影的宽度
  • fadeEnabled - 滑动时菜单的是否渐变
  • fadeDegree - 滑动时的渐变程度

 

三.实现滑动菜单

主要结构:MainAct为主入口,然后各个fragment实现各自内容动作。

MainAct.java

public class MainAct extends FragmentActivity {	private SlidingMenu menu;	    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.slidingmenu_main);                menu = new SlidingMenu(this);		menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);		menu.setShadowWidthRes(R.dimen.slidingmenu_shadow_width);		menu.setShadowDrawable(R.drawable.slidingmenu_shadow);		menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);		DisplayMetrics dm = new DisplayMetrics();		getWindowManager().getDefaultDisplay().getMetrics(dm);		menu.setFadeDegree(0.35f);		menu.setBehindOffset(dm.widthPixels*50/100);		menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);						menu.setMode(SlidingMenu.LEFT_RIGHT);//这里模式设置为左右都有菜单,RIGHT显示右菜单,LEFT显示左菜单,LEFT_RIGH显示左右菜单		menu.setContent(R.layout.slidingmenu_content);		menu.setMenu(R.layout.slidingmenu_menu);				menu.setSecondaryMenu(R.layout.slidingmenu_menu_2);		menu.setSecondaryShadowDrawable(R.drawable.slidingmenu_shadow_2);				getSupportFragmentManager()			.beginTransaction()			.replace(R.id.slidingmenu_content, new MainFragment(menu))			.commit();//设置主页面内容				getSupportFragmentManager()			.beginTransaction()			.replace(R.id.slidingmenu_menu, new MainLeftFragment())			.commit();//设置左菜单内容				getSupportFragmentManager()			.beginTransaction()			.replace(R.id.slidingmenu_menu_2, new MainRightFragment(menu))			.commit();//设置右菜单内容           }}

 

总结:用则简单则难

转载地址:http://cfenl.baihongyu.com/

你可能感兴趣的文章
用GoAccess分析Nginx的日志
查看>>
我的友情链接
查看>>
iOS客户端调微信支付只出现确定按钮的问题
查看>>
Windows下安装MongoDB
查看>>
virtualbox不能安装64位系统的解决方法
查看>>
选型 - QA testing tools 2/26/2016
查看>>
Linux培训大纲
查看>>
sqlalchemy(一)基本操作
查看>>
Python: pip常见的使用方法
查看>>
针对某电商网站流量劫持案例分析与思考
查看>>
瑞星网络版杀毒软件安装部署
查看>>
CSS 专业技巧收集
查看>>
mybatis 查询时 拼接order by语句
查看>>
linux基础命令
查看>>
JuniperSRX Dynamic *** (Remote Access ***)
查看>>
Apache服务器概述及练习
查看>>
Windows 2003 AD升级至Windows 2012 AD之DHCP服务器迁移
查看>>
精心挑选的12款优秀 jQuery Ajax 分页插件和教程
查看>>
在有网络安全策略的环境加域所需要启开的端口
查看>>
人生应该具有的八种心态
查看>>