SlidingMenu实现侧滑效果
来源:互联网 发布:淘宝与描述相符评分 编辑:程序博客网 时间:2024/05/01 02:38
SlidingMenu是前两年很火的一个第三方侧滑项目,目前已经很久没有再更新过了,目前Google自己也出了一个侧滑控件叫做Drawerlayout,很好用,如果想学习可以查看我的相关博客:drawerlayout的使用,不过很多同学还是想用第三方的,那么几天就来带大家学习一下这个三方库吧。
使用这个三方常用的方式有两种,一种是直接用代码创建对象,一种是在布局文件中使用,今天就分别来演示一遍。在使用前当然是一些准备工作,首先要做的是下载这个第三方库,如果你不嫌麻烦可以直接从github上面下载:github,当然最后我也会提供类库给大家,这里我就以你下载我给的类库为演示基础。
下载完之后找到slidelibrary这个文件夹,他就是类库的源文件,导入之后和你自己的项目关联上,如果允许之后出现classnotfand的错误那是因为类库使用的v4包和你项目使用的V4包不一致导致的,解决办法就是把自己的v4包覆盖掉类库的v4包。准备工作完成之后我们就正式的开始使用了。
首先我们使用代码来创建,因为注释写的很详细了,里面的方法这里就不再赘述了,先来看Activity代码:
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 创建对象SlidingMenu smenu = new SlidingMenu(this);// 设置出现在左边还是右边smenu.setMode(SlidingMenu.LEFT);// 设置调出slidingmenu的区域smenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);// 设置阴影的宽度smenu.setShadowWidth(8);smenu.setShadowDrawable(R.drawable.shadow);// 设置slidingmenu滑出来时的宽度smenu.setBehindOffset(100);// 设置刚拉出来的时候颜色,1为全黑smenu.setFadeDegree(0.3f);// 添加到Activity上面smenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);smenu.setMenu(R.layout.menu);// 关闭监听smenu.setOnClosedListener(new OnClosedListener() {@Overridepublic void onClosed() {Toast.makeText(MainActivity.this, "关闭了", Toast.LENGTH_SHORT).show();}});// 打开监听smenu.setOnOpenedListener(new OnOpenedListener() {@Overridepublic void onOpened() {Toast.makeText(MainActivity.this, "打开了", Toast.LENGTH_SHORT).show();}});// 创建动画对象设置显示的时候出现的动画,这里我写的是一个入场动画CanvasTransformer canvasTransformer = new CanvasTransformer() {@Overridepublic void transformCanvas(Canvas canvas, float percentOpen) {float scale = (float) (percentOpen * 0.25 + 0.75);canvas.scale(scale, scale, canvas.getWidth() / 2, canvas.getHeight() / 2);}};smenu.setBehindCanvasTransformer(canvasTransformer);}}基本使用思路就是先创建一个slidingmenu对象,然后对这个对象各种设置,完了之后调用attachToActivity方法使之和本Activity关联上,然后调用setmenu方法设置slidingmenu的布局文件,最后设置一些监听方法和一个打开关闭时的动画效果。我的slidingmenu布局文件很简单就一个imageView,下面来看看这段代码的运行效果:
XML文件使用
在主布局文件中代码如下:
<com.jeremyfeinstein.slidingmenu.lib.SlidingMenu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:sliding="http://schemas.android.com/apk/res-auto" android:id="@+id/slidingmenulayout" android:layout_width="fill_parent" android:layout_height="fill_parent" sliding:behindOffset="100px" sliding:behindScrollScale="0.5" sliding:fadeDegree="0.3" sliding:fadeEnabled="true" sliding:selectorDrawable="@drawable/shadow" sliding:selectorEnabled="true" sliding:shadowDrawable="@drawable/shadow" sliding:shadowWidth="8px" sliding:touchModeAbove="margin" sliding:viewAbove="@layout/above" sliding:viewBehind="@layout/menu" />
来看运行效果:
上面我添加一个
sliding:behindScrollScale="0.5"所以滑动的位置和slidingmenu显示的区域成1:2的关系,使用xml来用slidingmenu只需要把主布局文件里放一个上面的代码就够了,主界面显示和抽屉布局显示是通过:
sliding:viewAbove="@layout/above" sliding:viewBehind="@layout/menu"这两行代码实现的,前一个是设置主界面,后一个是设置抽屉布局内容的。
扫描关注我的微信公众号:
ok,slidingmenu的时候大概就是这两种方式,别的方式也可以不过不推荐使用,如果想最求更好的稳定性请使用Google自带的drawerlayout。最后附上类库和demo:
点击下载
0 0
- SlidingMenu实现侧滑效果
- SlidingMenu+ViewPager实现侧滑菜单效果
- SlidingMenu实现左侧侧滑效果
- Android中使用开源库slidingMenu实现侧滑效果
- Android--SlidingMenu第三方库实现侧滑效果
- SlidingMenu重写HorizontalScrollView实现菜单侧滑的效果
- 他山之石之使用SlidingMenu实现侧滑的效果
- android studio 导入SlidingMenu实现侧滑效果
- 关于侧滑效果SlidingMenu
- SlidingMenu实现侧滑
- 仿QQmini的侧滑效果SlidingMenu
- android侧滑效果,SlidingMenu配置
- android侧滑效果,SlidingMenu配置
- Android UI-SlidingMenu侧滑菜单效果
- Android UI-SlidingMenu侧滑菜单效果
- SlidingMenu动画效果的实现
- DrawerLayout简单实现slidingmenu效果
- SlidingMenu侧滑简单实现
- Mac 键盘快捷键
- Linux平台如何获取储存设备唯一标识符
- 解决:解压时客户端没有所需的特权的问题
- java线程中yield()和join()的区别
- VS2012 输入中文变"??"解决办法
- SlidingMenu实现侧滑效果
- 程序员做业余项目的重要性
- 在OpenCV for Android 2.4.5中使用SURF(nonfree module)
- ios拨打电话,可以返回程序
- TabControl 包含UserControl触发切换TabItem失效的解决方案
- DrawerLayout实现侧滑
- 音频管理器AudioManager笔记
- JAVA随堂笔记课【二】:语言基础
- jquery设置元素的readonly和disabled