开源项目SlidingMenu简单使用指南
2015-03-24 09:16
513 查看
一.简介
SlidingMenu能很方便的实现侧滑菜单栏,很多有名的软件都是用这种效果。如Evernote、Google+、Foursquare等,国内的QQ,豌豆夹,人人,360手机助手等都使用SlidingMenu的界面方案。
二.准备工作
1.下载开源项目SlidingMenu,地址:https://github.com/jfeinstein10/SlidingMenu
2.下载它的依赖项目ActionBarSharlock,地址:https://github.com/JakeWharton/ActionBarSherlock
3.把这两个项目包含到你的项目中
记得把三个项目的android-support-v4统一一下,最简单的方法就是删了其他两个,把自己的复制粘贴过去。
废话不多,直接上源码.
三.源码
1.drawable文件夹下建立shadow.xml<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <gradient android:endColor="#33000000" android:centerColor="#11000000" android:startColor="#00000000" /> </shape>2.value文件夹下建立dimens.xml,这个是菜单的各个配置,自己尝试下改变值。
<resources> <!-- Default screen margins, per the Android Design guidelines. --> <dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen> <dimen name="slidingmenu_offset">60dp</dimen> <dimen name="list_padding">10dp</dimen> <dimen name="shadow_width">15dp</dimen> <integer name="num_cols">1</integer> </resources>3.这个是你的菜单的视图 menu.xml,自由发挥。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#77B72C" android:orientation="vertical" > </LinearLayout>
4.最后,在你需要添加菜单的activity里加上短短几行代码即可。
<pre name="code" class="java">private SlidingMenu menu; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main);
//设置菜单呢内容 menu = new SlidingMenu(this); //设置菜单在右边 menu.setMode(SlidingMenu.RIGHT); menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE); menu.setShadowDrawable(R.drawable.shadow); menu.setShadowWidthRes(R.dimen.shadow_width); menu.setBehindOffsetRes(R.dimen.slidingmenu_offset); menu.setBehindWidth(800); menu.setFadeDegree(0.35f); menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT); menu.setMenu(R.layout.menu);// 就是普通的layout布局 mTransformer = new CanvasTransformer() { @Override public void transformCanvas(Canvas canvas, float percentOpen) { canvas.scale(percentOpen, 1, 0, 0); } }; menu.setBehindCanvasTransformer(mTransformer);
}
5.相关配置
menu.setMode(SlidingMenu.LEFT);//设置左滑菜单
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//设置滑动的屏幕范围,该设置为全屏区域都可以滑动
menu.setShadowDrawable(R.drawable.shadow);//设置阴影图片
menu.setShadowWidthRes(R.dimen.shadow_width);//设置阴影图片的宽度
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);//SlidingMenu划出时主页面显示的剩余宽度
menu.setBehindWidth(400);//设置SlidingMenu菜单的宽度
menu.setFadeDegree(0.35f);//SlidingMenu滑动时的渐变程度
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);//使SlidingMenu附加在Activity上
menu.setMenu(R.layout.menu_layout);//设置menu的布局文件
menu.toggle();//动态判断自动关闭或开启SlidingMenu
menu.showMenu();//显示SlidingMenu
menu.showContent();//显示内容
menu.setOnOpenListener(onOpenListener);//监听slidingmenu打开
关于关闭menu有两个监听,简单的来说,对于menu close事件,一个是when,一个是after
menu.OnClosedListener(OnClosedListener);//监听slidingmenu关闭时事件
menu.OnClosedListener(OnClosedListener);//监听slidingmenu关闭后事件
左右都可以划出SlidingMenu菜单只需要设置
menu.setMode(SlidingMenu.LEFT_RIGHT);属性,然后设置右侧菜单的布局文件
menu.setSecondaryShadowDrawable(R.drawable.shadowright);//右侧菜单的阴影图片
相关文章推荐
- 开源项目SlidingMenu的简单使用
- 开源项目SlidingMenu和ActionBarSherlock结合使用
- 开源项目SlidingMenu的使用
- Google开源项目ZXing(二维条码编解码)简单使用(Java版)
- 【Android UI设计与开发】第16期:滑动菜单栏(一)开源项目SlidingMenu的使用
- Android SlidingMenu 开源项目使用示例(一)
- 开源项目achartengine简单使用
- 滑动菜单栏之开源项目SlidingMenu的使用
- 开源项目SlidingMenu的使用
- 滑动菜单栏(一)开源项目SlidingMenu的使用
- 使用SlidingMenu开源项目
- 开源项目SlidingMenu的使用
- 【Android UI设计与开发】第16期:滑动菜单栏(一)开源项目SlidingMenu的使用
- 开源项目SlidingMenu的使用
- Google开源项目ZXing(二维条码编解码)简单使用(Java版)
- 【Android UI设计与开发】第16期:滑动菜单栏(一)开源项目SlidingMenu的使用
- 开源项目SlidingMenu的使用
- Google开源项目ZXing(二维条码编解码)简单使用(Java版)
- Android SlidingMenu 开源项目使用示例(二)
- 【Android UI设计与开发】第16期:滑动菜单栏(一)开源项目SlidingMenu的使用