[关闭]
@natsumi 2017-01-13T02:55:43.000000Z 字数 3592 阅读 7516

Android Studio导入SlidingMenu类库

Android Android_Studio


1. 先来碎碎念~

跟着极客学院的视频学安卓,里面有一课是导入类库实现SlidingMenu
视频里是用eclipse导入的T^T
自己鼓捣了一天终于导进去了

2. 实现的功能

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

3. 导入类库的过程

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

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

  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. }
  1. dependencies {
  2. compile fileTree(dir: 'libs', include: ['*.jar'])
  3. compile 'com.android.support:appcompat-v7:21.0.3'
  4. compile project(':SlidingMenu')//加上这句~
  5. }
  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>
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注