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>
复制代码

    运行效果图:

                         


原文地址:http://www.cnblogs.com/JohnTsai/p/4095274.html

相关文章
|
2月前
|
安全 Java 网络安全
Android远程连接和登录FTPS服务代码(commons.net库)
Android远程连接和登录FTPS服务代码(commons.net库)
35 1
|
2月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
116 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
2月前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
4月前
|
编解码 测试技术 Android开发
Android经典实战之用 CameraX 库实现高质量的照片和视频拍摄功能
本文详细介绍了如何利用CameraX库实现高质量的照片及视频拍摄功能,包括添加依赖、初始化、权限请求、配置预览与捕获等关键步骤。此外,还特别针对不同分辨率和帧率的视频拍摄提供了性能优化策略,确保应用既高效又稳定。
448 1
Android经典实战之用 CameraX 库实现高质量的照片和视频拍摄功能
|
4月前
|
监控 Java API
Android经典实战之OkDownload:一个经典强大的文件下载开源库,支持断点续传
本文介绍的 OkDownload 是一个专为 Android 设计的开源下载框架,支持多线程下载、断点续传和任务队列管理等功能,具备可靠性、灵活性和高性能特点。它提供了多种配置选项和监听器,便于开发者集成和扩展。尽管已多年未更新,但依然适用于大多数文件下载需求。
430 1
|
4月前
|
Java Android开发 芯片
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
本文介绍了如何将基于全志H713芯片的AOSP Android源码导入Android Studio以解决编译和编码问题,通过操作步骤的详细说明,展示了在Android Studio中利用代码提示和补全功能快速定位并修复编译错误的方法。
207 0
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
|
4月前
|
Java 开发工具 Android开发
Android Studio利用Build.gradle导入Git commit ID、Git Branch、User等版本信息
本文介绍了在Android Studio项目中通过修改`build.gradle`脚本来自动获取并添加Git的commit ID、branch名称和用户信息到BuildConfig类中,从而实现在编译时将这些版本信息加入到APK中的方法。
101 0
|
21天前
|
搜索推荐 前端开发 API
探索安卓开发中的自定义视图:打造个性化用户界面
在安卓应用开发的广阔天地中,自定义视图是一块神奇的画布,让开发者能够突破标准控件的限制,绘制出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战技巧,逐步揭示如何在安卓平台上创建和运用自定义视图来提升用户体验。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开新的视野,让你的应用在众多同质化产品中脱颖而出。
44 19
|
21天前
|
JSON Java API
探索安卓开发:打造你的首个天气应用
在这篇技术指南中,我们将一起潜入安卓开发的海洋,学习如何从零开始构建一个简单的天气应用。通过这个实践项目,你将掌握安卓开发的核心概念、界面设计、网络编程以及数据解析等技能。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供一个清晰的路线图和实用的代码示例,帮助你在安卓开发的道路上迈出坚实的一步。让我们一起开始这段旅程,打造属于你自己的第一个安卓应用吧!
48 14