Android 开源库——侧滑菜单栏(SlidingMenu)的导入和使用
一:前言
在今天的学习之前:
首先看看我手机中应用了侧滑菜单栏应用:
知乎: 知乎日报:
Google音乐: Google地球:
相信大家也都见过用过侧滑菜单栏,github上有个应用非常广泛的开源库SlidingMenu。很多著名的应用都用了这个开源库。
开源库地址:
https://github.com/jfeinstein10/SlidingMenu
二.导入SlidingMenu库
1.首先下载SlidingMenu和ActionBarSherlock到本地。
下载地址: https://github.com/jfeinstein10/SlidingMenu
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>
运行效果图: