时间:2018.10.21
GitHub开源项目SlidingMenu:https://github.com/jfeinstein10/SlidingMenu
Adroid Studio(AS,我的是最新版2.3.1)中导入
1.在原来的项目中加入SlidingMenu-master中的library(我把这个文件夹重命名为SliddingMenu_library)
第一种方法:使用file->new->impot module,然后
第二种方法:把SliddingMenu_library文件夹拷到新建项目文件夹中与app文件夹同级,在settings.gradle文件中添加 include ':SliddingMenu_library‘
2.导入后,会发现提示错误,在修改SliddinMenu_library的build.gradle
(参照app中的build.gradle)修改implementation、compileSdkVersion、buildToolsVersion、minSdkVersion、targetSdkVersion
3.修改SliddinMenu_library的AndroidManifest.xml
4.因为github上的这个项目时间有点久了,所以里面的一些东西过时了
修改SliddinMenu_library/src下的CustomViewAbove.java(以上导入后,会出错)
第一个,
查看FloatMath的代码,可以看到其sin方法其实就是使用Math.sin()所以直接将FloatMath改成Math
第二个,android.support.v4.view.KeyEventCompat找不到
import android.support.v4.view.KeyEventCompat; 去掉
将红框的去掉换黄框的,因为KeyEventCompat类的hasNoModifiers方法已经KeyEvent实现了,可以直接使用函数的参数event
5.以上导入库就完成了,现在关联库
第一种方法:app上右键->open module settings ->dependencies -> + ->modules dependency ->SliddinMenu_library -> OK -> OK
第二种方法:app/build.gradle的dependencies添加上implementation projecn(':SlidingMenu_library'),然后Sync Now运行一下更改的配置(AS修改配置在右上角会提醒Sync Now一下)
到此,就可以在我们自己的代码里使用了
SlidingMenu基本使用:
继承SlidingFramntActivity类onCreate()方法改成public(自动是protected),一个小例子
public class MainActivity extends SlidingFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置主页面
setContentView(R.layout.activity_main);
//设置左菜单
setBehindContentView(R.layout.activity_leftmenu);
SlidingMenu slidingMenu = getSlidingMenu();
//设置右侧菜单
//slidingMenu.setSecondaryMenu(R.layout.activity_rightmenu);
//设置显示的模式:左侧菜单+主页SlidingMenu.LEFT;左侧菜单+主页+右侧菜单SlidingMenu.LEFT_RIGHT;主页+右侧菜单SlidingMenu.RIGHT
slidingMenu.setMode(SlidingMenu.LEFT);
//设置滑动模式:滑动边缘、全屏滑动SlidingMenu.TOUCHMODE_FULLSCREEN、不可以滑动
slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
//设置主页占据的宽度
slidingMenu.setBehindOffset(DensityUtil.dip2px(MainActivity.this, 200))
}