Android Studio导入SlidingMenu类库

1. 先来碎碎念~

导入类库实现SlidingMenu 
视频里是用eclipse导入,下面用Android Studio导入SlidingMenu类库

2. 实现的功能

就是最基本的功能,右划或者菜单键就打开SlidingMenu像下图酱婶儿~ 
成果

3. 导入类库的过程

视频里面导入了SlidingMenuActionBarSherlock两个包,说是因为SlidingMenu/Readme.md里说要“set up with ActionBarSherlock” 
但是,我只导入了SlidingMenu就可以实现那些基础功能了,并不知道ActionBarSherlock有什么卵用= =

参考:https://github.com/phodal/learning-android 
下面正式开始导入的步骤:

  • 新建空Activity工程UsingSlidingMenu
  • 从github上下载SlidingMenu-master.zip解压
  • 将其中的SlidingMenu-master/library目录整个拷贝到UsingSlidingMenu工程文件夹下的任意位置,我是拷贝到了UsingSlidingMenu/libraries/library,并将library改名为SlidingMenu,即UsingSlidingMenu/libraries/SlidingMenu
  • 在AS中通过Import Module的方式导入库:File--Import Module,在弹出的框中,通过浏览的方式填入待导入库的路径AS工作空间/UsingSlidingMenu/libraries/SlidingMenu
  • 修改SlidingMenu里的build.gradle文件(并不是太懂gradle,看着网上的各种资料以及自己试着改,下面两个注释了必须改的不该就不能成功build,其他不改好像也没什么事儿)
 
 
  1. buildscript {
  2. repositories {
  3. mavenCentral()
  4. }
  5. dependencies {
  6. classpath 'com.android.tools.build:gradle:1.1.0'//必须改
  7. }
  8. }
  9. apply plugin: 'android-library'
  10. dependencies {
  11. compile 'com.android.support:support-v4:13.0.0'
  12. }
  13. android {
  14. compileSdkVersion 21//参考learning-android项目做了修改
  15. buildToolsVersion "21.1.2"//必须改,这里是参考app目录里的build.gradle改的
  16. defaultConfig {
  17. minSdkVersion 14//参考learning-android项目做了修改
  18. targetSdkVersion 21//参考learning-android项目做了修改
  19. }
  20. sourceSets {
  21. main {
  22. java.srcDirs = ['src']
  23. resources.srcDirs = ['src']
  24. aidl.srcDirs = ['src']
  25. renderscript.srcDirs = ['src']
  26. res.srcDirs = ['res']
  27. assets.srcDirs = ['assets']
  28. manifest.srcFile 'AndroidManifest.xml'
  29. }
  30. }
  31. }
  • 不要修改项目根目录下的build.gradle文件中的dependencies里的内容,因为注释写着“Do not place your application dependencies here; they belong in the individual module build.gradle files”
  • 修改app目录下的build.gradle文件
 
 
  1. dependencies {
  2. compile fileTree(dir: 'libs', include: ['*.jar'])
  3. compile 'com.android.support:appcompat-v7:21.0.3'
  4. compile project(':SlidingMenu')//加上这句~
  5. }
  • 修改了Gradle文件后代码编辑器上方会提示同步,点sync now同步
  • 网上有些资料说要修改settings.gradle,但是用import module的方式导入的话好像AS会自动修改这个配置文件
 
 
  1. include ':app', ':SlidingMenu'
  2. project(':SlidingMenu').projectDir = new File('libraries/SlidingMenu')

4. 开始开发吧~

下面就可以按照视频愉快的写代码了~ 
菜单背景色是打代码的时候少打了两个9~从灰色变粉色萌萌哒~

MainActivity.java

 
 
  1. package com.jikexueyuan.usingslidiingmenu;
  2. import android.os.Bundle;
  3. import android.support.v7.app.ActionBarActivity;
  4. import android.view.KeyEvent;
  5. import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
  6. public class MainActivity extends ActionBarActivity {
  7. private SlidingMenu slidingMenu;
  8. @Override
  9. protected void onCreate(Bundle savedInstanceState) {
  10. super.onCreate(savedInstanceState);
  11. setContentView(R.layout.activity_main);
  12. slidingMenu = new SlidingMenu(this);//创建对象
  13. slidingMenu.setMode(SlidingMenu.LEFT);//设定模式,SlidingMenu在左边
  14. slidingMenu.setBehindOffsetRes(R.dimen.sliding_menu_offset);//配置slidingmenu偏移出来的尺寸
  15. slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//全屏都可以拖拽触摸,打开slidingmenu
  16. slidingMenu.attachToActivity(this,SlidingMenu.SLIDING_CONTENT);//附加到当前的Aty上去
  17. slidingMenu.setMenu(R.layout.slidingmenu);
  18. }
  19. @Override
  20. public boolean onKeyDown(int keyCode, KeyEvent event) {
  21. //重写KeyDown事件,菜单键按下也能拉出slidingmenu
  22. switch(keyCode){
  23. case KeyEvent.KEYCODE_MENU:
  24. slidingMenu.toggle(true);
  25. break;
  26. default:
  27. break;
  28. }
  29. return super.onKeyDown(keyCode, event);
  30. }
  31. }

下面是布局文件activity_main.xml

 
 
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical" android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:background="#ff9999">
  6. <com.jeremyfeinstein.slidingmenu.lib.SlidingMenu
  7. android:layout_width="fill_parent"
  8. android:layout_height="fill_parent"
  9. android:id="@+id/slidingmenulayout">
  10. <Button
  11. android:layout_width="fill_parent"
  12. android:layout_height="wrap_content"
  13. android:text="Click me"/>
  14. </com.jeremyfeinstein.slidingmenu.lib.SlidingMenu>
  15. </LinearLayout>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值