1.导入和修改相library
SlidingMenu库的导入与PullToRefreshScrollView库的导入类似,现在 https://github.com/jfeinstein10/SlidingMenu 下载好源码,在as中选择file --> new --> Import Module, 选择源码包中的library文件导入。
然后选中file --> project structure ,选中app --> Dependencies 点击" + " 添加 ":library"。
然后修改library的build.gradle:
classpath改为项目根目录下build.gradle中的classpath。
apply plugin:'android-library' 改为 apply plugin:'com.android.library'。
compileSDKVersion,buildToolVersion,minSDKVersion,targetSDKVersion 改为app目录下相同配置即可。
点击sync now后as就不再报错。
最后将SlidingMenu-master --> example --> res文件中values文件下dimens.xml 和 drawable文件下shadow.xml拷贝到本项目res文件中对应的文件夹中。
2.SlidingMenu的使用
package com.example.administrator.testforslidingmenu;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
//public class MainActivity extends AppCompatActivity {
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SlidingMenu menu = new SlidingMenu(MainActivity.this);
//设置侧滑菜单的位置
menu.setMode(SlidingMenu.LEFT);
//侧滑菜单的启动模式,FULLSCREEN为全屏侧拉启动,MARGIN只有在触摸边缘时才会启动
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
//根据dimen资源文件的ID设置滑动菜单的阴影宽度
menu.setShadowWidthRes(R.dimen.shadow_width);
//根据shadow资源文件的ID设置滑动菜单的阴影效果
menu.setShadowDrawable(R.drawable.shadow);
//设置滑动菜单距离屏幕的偏移量
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
//设置渐入渐出的效果
menu.setFadeDegree(0.35f);
//将滑动菜单绑定至activity
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
//设置侧滑菜单的布局
menu.setMenu(R.layout.leftmenu);
}
}
代码与方法一类似,主要区别在于SlidingMenu实例通过getSlidingMenu()方法获得,绑定侧滑菜单和活动通过setBehindContentView()方法设置。
package com.example.administrator.testforslidingmenu;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivity;
//public class MainActivity extends AppCompatActivity {
public class MainActivity extends SlidingActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//SlidingMenu menu = new SlidingMenu(MainActivity.this);
SlidingMenu menu = getSlidingMenu();
setBehindContentView(R.layout.leftmenu);
//设置侧滑菜单的位置
menu.setMode(SlidingMenu.LEFT);
//侧滑菜单的启动模式,FULLSCREEN为全屏侧拉启动,MARGIN只有在触摸边缘时才会启动
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
//根据dimen资源文件的ID设置滑动菜单的阴影宽度
menu.setShadowWidthRes(R.dimen.shadow_width);
//根据shadow资源文件的ID设置滑动菜单的阴影效果
menu.setShadowDrawable(R.drawable.shadow);
//设置滑动菜单距离屏幕的偏移量
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
//设置渐入渐出的效果
menu.setFadeDegree(0.35f);
//将滑动菜单绑定至activity
//menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
//设置侧滑菜单的布局
menu.setMenu(R.layout.leftmenu);
}
}
3.将SlidingMenu作为控件插入actiity
用法与普通控件类似,只要在xml中设置对应属性即可。