内容简介:SlidingMenu是前两年很火的一个第三方侧滑项目,目前已经很久没有再更新过了,目前Google自己也出了一个侧滑控件叫做Drawerlayout,很好用,如果想学习可以查看我的相关博客:使用这个三方常用的方式有两种,一种是直接用代码创建对象,一种是在布局文件中使用,今天就分别来演示一遍。在使用前当然是一些准备工作,首先要做的是下载这个第三方库,如果你不嫌麻烦可以直接从github上面下载:下载完之后找到slidelibrary这个文件夹,他就是类库的源文件,导入之后和你自己的项目关联上,如果允许之后
SlidingMenu是前两年很火的一个第三方侧滑项目,目前已经很久没有再更新过了,目前Google自己也出了一个侧滑控件叫做Drawerlayout,很好用,如果想学习可以查看我的相关博客: drawerlayout的使用 ,不过很多同学还是想用第三方的,那么几天就来带大家学习一下这个三方库吧。
使用这个三方常用的方式有两种,一种是直接用代码创建对象,一种是在布局文件中使用,今天就分别来演示一遍。在使用前当然是一些准备工作,首先要做的是下载这个第三方库,如果你不嫌麻烦可以直接从github上面下载: github ,当然最后我也会提供类库给大家,这里我就以你下载我给的类库为演示基础。
下载完之后找到slidelibrary这个文件夹,他就是类库的源文件,导入之后和你自己的项目关联上,如果允许之后出现classnotfand的错误那是因为类库使用的v4包和你项目使用的V4包不一致导致的,解决办法就是把自己的v4包覆盖掉类库的v4包。准备工作完成之后我们就正式的开始使用了。
首先我们使用代码来创建,因为注释写的很详细了,里面的方法这里就不再赘述了,先来看Activity代码:
public class MainActivity extends AppCompatActivity { @Override protected 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() { @Override public void onClosed() { Toast.makeText(MainActivity.this, "关闭了", Toast.LENGTH_SHORT).show(); } }); // 打开监听 smenu.setOnOpenedListener(new OnOpenedListener() { @Override public void onOpened() { Toast.makeText(MainActivity.this, "打开了", Toast.LENGTH_SHORT).show(); } }); // 创建动画对象设置显示的时候出现的动画,这里我写的是一个入场动画 CanvasTransformer canvasTransformer = new CanvasTransformer() { @Override public 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"
这两行代码实现的,前一个是设置主界面,后一个是设置抽屉布局内容的。
以上所述就是小编给大家介绍的《SlidingMenu实现侧滑效果》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 使用xposed更改掘金的侧滑退出的触发范围(左撇子,掘金的这个侧滑退出的体验一言难尽)
- iOS侧滑菜单-完全解耦-一行调用
- Android之自定义View:侧滑删除
- 给你的页面带上侧滑返回——SlideBack
- MaterialDrawer 6.0.0 发布,Android 侧滑显示控件
- MaterialDrawer 6.1.1 发布,Android 侧滑显示控件
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data Mining
Jiawei Han、Micheline Kamber、Jian Pei / Morgan Kaufmann / 2011-7-6 / USD 74.95
The increasing volume of data in modern business and science calls for more complex and sophisticated tools. Although advances in data mining technology have made extensive data collection much easier......一起来看看 《Data Mining》 这本书的介绍吧!