以GitHub上的SlidingMenu为例。下载地址:jfeinstein10/SlidingMenu
一.Eclipse中引入
1.Import->Existing Android Code Into Workspace,选择导入文件夹中的library。(导入的时候要选择Copy projects into workspacae,因为在windows中要求项目和library在同一目录下,不然不能add成功)右击选择Properties,在Android下选中Is Library。
2.在要引用该库的Androi程序中引入该库。右击选择Properties,点击Add 选择刚才导入的library。
3.经过上面两步后,在Eclipse中就已经导入成功了,可以在自己的项目中使用这个开源库了。
4.运行后发现有错误,看了下发现是android-support-v4.jar包引起的,把项目libs下面的那个包删了,正常运行。
二.在Android Studio中引入
1.File->New->Import Module,选择library。
2.右击项目选择Project Structure,选择自己的项目,Dependencies中选择+ -> Module dependency,选择刚才的library。
3.Android Studio中的Gradle我一直不是很懂,就按照自己项目的值把dependencies、一些SdkVersion改了一下。
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' } } apply plugin: 'android-library' dependencies { compile 'com.android.support:support-v4:13.0.0' } android { compileSdkVersion 19 buildToolsVersion "19.1.0" defaultConfig { minSdkVersion 15 targetSdkVersion 19 } sourceSets { main { java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] manifest.srcFile 'AndroidManifest.xml' } } }
4.build gradle后,就可以在自己的项目中应用开源库里的东西了。
package android.com.myndk; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu; public class MainActivity extends Activity { static { System.loadLibrary("MyJni"); } public static native String Hello(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView textView=(TextView)findViewById(R.id.textView); textView.setText(Hello()); // configure the SlidingMenu SlidingMenu menu = new SlidingMenu(this); menu.setMode(SlidingMenu.LEFT); // 设置触摸屏幕的模式 menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); menu.setShadowWidthRes(R.dimen.activity_horizontal_margin); menu.setShadowDrawable(R.drawable.shadow); // 设置滑动菜单视图的宽度 menu.setBehindOffsetRes(R.dimen.activity_horizontal_margin); // 设置渐入渐出效果的值 menu.setFadeDegree(0.35f); /** * SLIDING_WINDOW will include the Title/ActionBar in the content * section of the SlidingMenu, while SLIDING_CONTENT does not. */ menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT); //为侧滑菜单设置布局 menu.setMenu(R.layout.menu); } }
对SlidingMenu中的一些参数还不是很了解,随便设的值,最后附上程序中用到的,不保证美观,但是运行起来没有问题。
shadow.xml(在drawable文件夹下)
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <gradient android:centerColor="#11000000" android:endColor="#33000000" android:startColor="#00000000" /> </shape>
dimens.xml(在values文件夹下)
<resources> <!-- Default screen margins, per the Android Design guidelines. --> <dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen> </resources>