文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android开源组件SlidingMenu侧滑菜单使用介绍

2022-06-06 10:19

关注

现在很多android应用都有侧滑菜单,效果很不错。

GitHub上有SlidingMenu的开源库,使用起来很方便。

SlidingMenu GitHub地址:https://github.com/jfeinstein10/SlidingMenu。GitHub上说,Sliding结合ActionBarSherlock使用功能可以更丰富,ActionBarSherlock GitHub地址:https://github.com/JakeWharton/ActionBarSherlock

附csdn下载地址:

SlidingMenu: http://download.csdn.net/detail/lanximu/7922377

ActionBarsherlock: http://download.csdn.net/detail/lanximu/7922383

下面,介绍下SlidingMenu的使用。

(1)从GitHub上download zip到本地,解压缩,得到其中的一个文件夹,library。

(2)Eclipse import  Existing Android Code Into Workspace。 点击项目右键 properties->Android,可以看到,其 Is Library。

(3)在将使用SlidingMenu的项目上点击右键 properties->Android,Library下将(2)导入的项目add进去。

(4)为保证SlidingMenu库应用到项目中成功,必须保证项目使用的libs和SlidingMenu库使用的libs版本一致,主要是指android-support-v4.jar。如果项目libs不存在或编译不通过,可以尝试新建libs文件夹,并置入android-support-v4.jar。在libs上右键->Build Path->Use as Source。一般可以解决。

(5)第(4)步之后,便可以在项目中直接使用SlidingMenu。

Java代码:

MainActivity:

代码如下:
package com.jj.testslidingmenu;

import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;

import android.os.Bundle;
import android.app.Activity;
import android.view.KeyEvent;
import android.view.Menu;

public class MainActivity extends Activity {

 SlidingMenu slidingMenu;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  slidingMenu = new SlidingMenu(this);
  slidingMenu.setMode(SlidingMenu.LEFT);
  slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
  slidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
  slidingMenu.setMenu(R.layout.slidingmenu);
  slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
 }

 @Override
 public boolean onKeyDown(int key, KeyEvent event){
  switch (key) {
  case KeyEvent.KEYCODE_MENU:
   slidingMenu.toggle(true);
   break;

  default:
   break;
  }
  return false;
 }

}

XMl布局代码:

layout/slidingmenu.xml:
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#ff999999">

 <com.jeremyfeinstein.slidingmenu.lib.SlidingMenu
     android:id="@+id/slidingmenu"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
    >
   <Button
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text = "click me"/> 

 </com.jeremyfeinstein.slidingmenu.lib.SlidingMenu>
</LinearLayout>

对于SlidingMenu常用的一些属性设置记录如下:

menu.setMode(SlidingMenu.LEFT);//设置左滑菜单
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//设置滑动的屏幕范围,该设置为全屏区域都可以滑动
menu.setShadowDrawable(R.drawable.shadow);//设置阴影图片
menu.setShadowWidthRes(R.dimen.shadow_width);//设置阴影图片的宽度
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);//SlidingMenu划出时主页面显示的剩余宽度
menu.setBehindWidth(400);//设置SlidingMenu菜单的宽度
menu.setFadeDegree(0.35f);//SlidingMenu滑动时的渐变程度
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);//使SlidingMenu附加在Activity上
menu.setMenu(R.layout.menu_layout);//设置menu的布局文件
menu.toggle();//动态判断自动关闭或开启SlidingMenu
menu.showMenu();//显示SlidingMenu
menu.showContent();//显示内容
menu.setOnOpenListener(onOpenListener);//监听slidingmenu打开

menu.setOnOpenedListener(onOpenedlistener);监听slidingmenu打开后

menu.OnCloseListener(OnClosedListener);//监听slidingmenu关闭时事件

menu.OnClosedListener(OnClosedListener);//监听slidingmenu关闭后事件

左右都可以划出SlidingMenu菜单只需要设置
menu.setMode(SlidingMenu.LEFT_RIGHT);属性,然后设置右侧菜单的布局文件
menu.setSecondaryMenu(R.layout.menu_fram2);//设置右侧菜单

menu.setSecondaryShadowDrawable(R.drawable.shadowright);//右侧菜单的阴影图片

您可能感兴趣的文章:Android实现原生侧滑菜单的超简单方式Android滑动优化高仿QQ6.0侧滑菜单(滑动优化)android RecyclerView侧滑菜单,滑动删除,长按拖拽,下拉刷新上拉加载Android使用自定义控件HorizontalScrollView打造史上最简单的侧滑菜单Android使用DrawerLayout实现仿QQ双向侧滑菜单代码分析Android实现侧滑菜单Android UI实现SlidingMenu侧滑菜单效果Android_UI 仿QQ侧滑菜单效果的实现Android侧滑菜单控件DrawerLayout使用详解Android自定义实现侧滑菜单效果


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯