Android 开源库——侧滑菜单栏(SlidingMenu)的导入和使用

    一:前言

    在今天的学习之前:

    首先看看我手机中应用了侧滑菜单栏应用:

    知乎:                                                                      知乎日报:

                                    

          Google音乐:                                                                Google地球:

                                   

 

 

         相信大家也都见过用过侧滑菜单栏,github上有个应用非常广泛的开源库SlidingMenu。很多著名的应用都用了这个开源库。

         开源库地址:

                      https://github.com/jfeinstein10/SlidingMenu

        二.导入SlidingMenu库

        1.首先下载SlidingMenu和ActionBarSherlock到本地。

        下载地址:  https://github.com/jfeinstein10/SlidingMenu

                        http://actionbarsherlock.com/

        

      2.导入到Eclipse中。

     File-->Import-->Existing Android Code Into Workspace-->导入下载到本地的actionbarSherlock和SlidingMenu的路径(要勾选复制到工作区)

     注意:actionbarSherlock导入actionbarSherlock文件夹,而SlidingMenu导入library文件夹。

    

   

   

   

   三.使用SlidingMenu到自己的应用中

    1.新建最低版本为Android4.0的应用。并引用SlidingMenu和actionbarSherlock。

   

 

    导入之后,发现报错了。

  

  原因是两个库和应用的android-support-v4.jar版本不同只要将复制应用中的android-support-v4.jar到两个库中即可

   2.引用SlidingMenu。

   

 1 package com.example.slidingmenudemo;
 2 
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.view.View;
 6 import android.view.View.OnClickListener;
 7 import android.widget.Button;
 8 import android.widget.Toast;
 9 
10 import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
11 
12 
13 public class MainActivity extends Activity implements OnClickListener {
14 
15     
16     private SlidingMenu slidingMenu;
17     private Button button1,button2;
18     @Override
19     protected void onCreate(Bundle savedInstanceState) {
20         super.onCreate(savedInstanceState);
21         setContentView(R.layout.activity_main);
22         
23         slidingMenu = new SlidingMenu(this);
24         slidingMenu.setMode(SlidingMenu.LEFT);  //菜单从左边滑出
25         slidingMenu.setBehindWidth(300);        //菜单的宽度
26         slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//菜单全屏都可滑出
27         slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
28         slidingMenu.setMenu(R.layout.menu_layout);
29         
30         button1=(Button)findViewById(R.id.button1);
31         button2=(Button)findViewById(R.id.button2);
32         button1.setOnClickListener(this);
33         button2.setOnClickListener(this);
34     }
35     @Override
36     public void onClick(View v) {
37           switch (v.getId()) {
38         case R.id.button1:
39             Toast.makeText(this, "你点击了Button1", Toast.LENGTH_LONG).show();
40             break;
41         case R.id.button2:
42             Toast.makeText(this, "你点击了Button2", Toast.LENGTH_LONG).show();
43             break;    
44         }        
45     }
46 }

menu_layout.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical" >
 6     <com.jeremyfeinstein.slidingmenu.lib.SlidingMenu
 7         android:layout_width="match_parent"
 8         android:layout_height="match_parent"
 9         >
10         <LinearLayout 
11             android:layout_width="match_parent"
12             android:layout_height="match_parent"
13             android:orientation="vertical" 
14             >
15         <Button 
16            android:layout_width="match_parent" 
17            android:layout_height="wrap_content"
18            android:id="@+id/button1"
19 
20            android:text="button1!点击我"
21             />
22          <Button 
23            android:layout_width="match_parent" 
24            android:layout_height="wrap_content"
25            android:id="@+id/button2"
26            android:background="#f00"
27            android:text="button2!点击我"
28             />
29          </LinearLayout>
30     </com.jeremyfeinstein.slidingmenu.lib.SlidingMenu>
31 
32 </LinearLayout>

    运行效果图:

                        

posted @ 2014-11-13 16:27  onerepublic  阅读(4170)  评论(16编辑  收藏  举报