SlidingMenu侧滑菜单栏的使用

实现简单的slidingmenu。

话不多说,直接上图。

实现简单的slidingmenu需要进行的步骤

  1. 下载slidelibrary包(下面有提供下载)

    将下载的slidingmenu_library包导入你的Androidworkplace,就是和你的项目一个文件夹。

2.新建项目文件SlideMenu

其中MainActivity代码:

package com.example.slidemenu;

import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;

import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;

import android.app.AlertDialog;

import android.content.Context;

import android.content.DialogInterface;

import android.os.Bundle;

import android.support.v4.app.Fragment;

import android.view.KeyEvent;

import android.view.View;

import android.view.Window;

import android.widget.Toast;

public class MainActivity extends SlidingFragmentActivity

{

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main);

initLeftMenu();

}

private void initLeftMenu()

{

Fragment leftMenuFragment = new MenuLeft();

setBehindContentView(R.layout.left_menu_frame);

getSupportFragmentManager().beginTransaction()

.replace(R.id.id_left_menu_frame, leftMenuFragment).commit();

SlidingMenu menu = getSlidingMenu();

menu.setMode(SlidingMenu.LEFT);

menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);

menu.setShadowWidthRes(R.dimen.shadow_width);

menu.setShadowDrawable(R.drawable.shadow);

menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);

menu.setFadeDegree(0.35f);

menu.setSecondaryShadowDrawable(R.drawable.shadow);

}

public void showLeftMenu(View view)

{

getSlidingMenu().showMenu();

}

public boolean onKeyDown(int KeyCode,KeyEvent Event){

if(KeyCode==KeyEvent.KEYCODE_BACK){

showdialog(MainActivity.this);

}

return true;

}

public void showdialog(final Context context){

AlertDialog.Builder builder = new AlertDialog.Builder(context);

//    设置Title的图标

builder.setIcon(R.drawable.ic_launcher);

//    设置Title的内容

builder.setTitle("你要离开吗!");

//    设置Content来显示一个信息

builder.setMessage("确定离开吗?");

//    设置一个PositiveButton

builder.setPositiveButton("确定", new DialogInterface.OnClickListener()

{

public void onClick(DialogInterface dialog, int which)

{

Toast.makeText(context, "离开 ", Toast.LENGTH_SHORT).show();

System.exit(0);

}

});

//    设置一个NegativeButton

builder.setNegativeButton("取消", new DialogInterface.OnClickListener()

{

public void onClick(DialogInterface dialog, int which)

{

Toast.makeText(context, "返回", Toast.LENGTH_SHORT).show();

}

});

builder.show();

}

}

Menuleft.java代码:

package com.example.slidemenu;

import android.os.Bundle;

import android.support.v4.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewGroup;

import android.widget.TextView;

public class MenuLeft extends Fragment

{

private View mView;

private TextView function1,function2,function3,function4,function5,function6;

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState)

{

if(mView == null)

{

mView = inflater.inflate(R.layout.left_menu, container, false);

function1=(TextView)mView.findViewById(R.id.function1);

function2=(TextView)mView.findViewById(R.id.function2);

function3=(TextView)mView.findViewById(R.id.function3);

function4=(TextView)mView.findViewById(R.id.function4);

function5=(TextView)mView.findViewById(R.id.function5);

function6=(TextView)mView.findViewById(R.id.function6);

function1.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {

}

});

function2.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {

}

});

function3.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {

}

});

function4.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {

}

});

function5.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {

}

});

function6.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {

}

});

}

return mView ;

}

}

Xml文件

代码如下:

activity_main.xml代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

<RelativeLayout

android:layout_width="fill_parent"

android:layout_height="45dp"

android:background="@drawable/title_bar" >

<ImageButton

android:id="@+id/id_iv_left"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_centerVertical="true"

android:layout_marginLeft="3dp"

android:onClick="showLeftMenu"

android:background="@drawable/showleft_selector" />

<TextView

android:id="@+id/title"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:gravity="center"

android:text="主界面标题"

android:textColor="#00ffff"

android:textSize="20dp"

android:textStyle="bold" />

</RelativeLayout>

<RelativeLayout

android:layout_width="fill_parent"

android:layout_height="fill_parent">

<TextView

android:id="@+id/title"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:gravity="center"

android:text="主界面"

android:textColor="#00ffff"

android:textSize="20dp"

android:textStyle="bold" />

</RelativeLayout>

</LinearLayout>

left_menu_frame.xml代码

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/id_left_menu_frame"

android:layout_width="200dp"

android:layout_height="match_parent" />

left_menu.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:background="#eee"

android:orientation="vertical" >

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="45dp"

android:background="@drawable/title_bar" >

<TextView

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:gravity="center"

android:text="左侧菜单"

android:textColor="#00ffff"

android:textSize="20dp"

android:textStyle="bold" />

</LinearLayout>

<ScrollView

android:layout_width="fill_parent"

android:layout_height="fill_parent" >

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="vertical" >

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginTop="20dp"

android:orientation="vertical" >

<TextView

android:id="@+id/function1"

android:layout_width="fill_parent"

android:layout_height="40dp"

android:background="@drawable/settings_first_item"

android:clickable="true"

android:drawableRight="@drawable/mm_submenu_normal"

android:gravity="center_vertical"

android:paddingLeft="25dp"

android:text="功能一"

android:textColor="#000"

android:textSize="16sp" />

<TextView

android:id="@+id/function2"

android:layout_width="fill_parent"

android:layout_height="40dp"

android:background="@drawable/settings_nomal_item"

android:clickable="true"

android:drawableRight="@drawable/mm_submenu_normal"

android:gravity="center_vertical"

android:paddingLeft="25dp"

android:text="功能二"

android:textColor="#000"

android:textSize="16sp" />

<TextView

android:id="@+id/function3"

android:layout_width="fill_parent"

android:layout_height="40dp"

android:background="@drawable/settings_nomal_item"

android:clickable="true"

android:drawableRight="@drawable/mm_submenu_normal"

android:gravity="center_vertical"

android:paddingLeft="25dp"

android:text="功能三"

android:textColor="#000"

android:textSize="16sp" />

<TextView

android:id="@+id/function4"

android:layout_width="fill_parent"

android:layout_height="40dp"

android:background="@drawable/settings_last_item"

android:clickable="true"

android:drawableRight="@drawable/mm_submenu_normal"

android:gravity="center_vertical"

android:paddingLeft="25dp"

android:text="功能四"

android:textColor="#000"

android:textSize="16sp" />

</LinearLayout>

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginTop="20dp"

android:orientation="vertical" >

<TextView

android:id="@+id/function5"

android:layout_width="fill_parent"

android:layout_height="40dp"

android:background="@drawable/settings_first_item"

android:clickable="true"

android:drawableRight="@drawable/mm_submenu_normal"

android:gravity="center_vertical"

android:paddingLeft="25dp"

android:text="功能五"

android:textColor="#000"

android:textSize="16sp" />

<TextView

android:id="@+id/function6"

android:layout_width="fill_parent"

android:layout_height="40dp"

android:background="@drawable/settings_last_item"

android:clickable="true"

android:drawableRight="@drawable/mm_submenu_normal"

android:gravity="center_vertical"

android:paddingLeft="25dp"

android:text="功能六"

android:textColor="#000"

android:textSize="16sp" />

</LinearLayout>

</LinearLayout>

</ScrollView>

</LinearLayout>

主要就是这些了,

其中还有一些自定义图片按钮什么的,我在下面会给出demo,欢迎大家使用。

《注意!!!大家在导入library之后,需要把项目中的

这个jar包替换到slidelibiary包的libs文件夹中

就是把slidelibrary中的android-support-v4.jar替换掉,

然后再导入到项目中,

否则会出现错误!!!》

大家动手试试吧!!!

时间: 2025-01-01 09:04:56

SlidingMenu侧滑菜单栏的使用的相关文章

Android UI之SlidingMenu侧滑菜单

SlidingMenu侧滑菜单是一种比较新的设置界面或配置界面的效果,在主界面左滑或者右滑出现设置界面效果,能方便的进行各种操作.很多优秀的应用都采用了这种界面方案,像facebook.人人网.everynote.Google+.网易新闻.知乎日报.有道云笔记等等. 现在这种交互方式越来越流行了,虽然这种交互方式可以通过自定义组件的方式来实现,但是用第三方开源库更简单.地址: https://github.com/jfeinstein10/SlidingMenu.git 侧滑菜单实现原理: 在一

Material Design之NavigationView和DrawerLayout实现侧滑菜单栏

本文将介绍使用Google最新推出规范式设计中的NavigationView和DrawerLayout结合实现侧滑菜单栏效果,NavigationView是android-support-design包下的一个控件,该包下还有AppBarLayout.CoordinatorLayout.FloatingActionButton.SnackBar.TabLayout控件,也是Google在Android 5.x推荐规范式使用的控件.本系列将逐一介绍每个控件的使用... 好了,先来看看本文最终的效果

Android之十SlidingMenu侧滑菜单的实现分析

Android之十SlidingMenu侧滑菜单的实现分析 SlidingMenu侧滑菜单是一种比较新的设置界面或配置界面的效果,在主界面左滑或者右滑出现设置界面效果,能方便的进行各种操作.很多优秀的应用都采用了这种界面方案,像facebook.人人网.everynote.Google+.网易新闻.知乎日报.有道云笔记等等 侧滑菜单实现原理: 在一个Activity的布局中需要有两部分,一个是菜单(menu)的布局,一个是内容(content)的布局.两个布局横向排列,菜单布局在左,内容布局在右

slidingmenu侧滑侧单

SlidingMenu menu = new SlidingMenu(this); // 单独创建实现化        menu.setMode(SlidingMenu.LEFT); // 设置左侧滑        // 为侧滑菜单设置布局        menu.setMenu(R.layout.leftmenu);        // 设置触摸屏幕的模式        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);// 3滑

SlidingMenu 侧滑菜单的用法

很多APP都有侧滑菜单的功能,部分APP左右都是侧滑菜单~SlidingMenu 这个开源项目可以很好帮助我们实现侧滑功能,将侧滑菜单引入项目的方式很多中,先通过例子介绍各种引入方式,然后给大家展示个实例:主布局 ViewPager,左右各一个侧滑菜单的用法,差不多已经能满足大部分应用的需求了.关于常用属性,在文章末尾介绍. 1.在Activity中通过SlidingMenu构造方法,直接设置侧滑菜单 package com.zhy.zhy_slidemenu_demo; import andr

Android: DrawerLayout 侧滑菜单栏

DrawerLayout是SupportLibrary包中实现的侧滑菜单效果的控件. 分为主内容区域和侧边菜单区域 drawerLayout本身就支持:侧边菜单根据手势展开与隐藏, 开发者只需要实现:主内容区的内容和菜单的点击变化即可. API:https://developer.android.com/reference/android/support/v4/widget/DrawerLayout.html 1. DrawerLayout本身就是一个顶级容器,只需要按照规定的布局方式写布局就会

SlidingMenu侧滑的使用和方法介绍

***转载请声明出处:*** /** SlidingMenu下载方式: 访问https://github.com/Trinea/android-open-project网站,然后搜索SlidingMenu. 先要讲SlidingMenu通过p'ropreies中的add添加到你所创建的工程项目中. */ menu.setMode(SlidingMenu.LEFT);//设置左滑菜单 menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);

侧滑菜单栏 【转藏】

Demo下载地址:http://download.csdn.net/detail/u012922417/9033071

android源码大放送(实战开发必备),免费安卓demo源码,例子大全文件详细列表

免费安卓demo源码,例子大全文件详细列表 本列表源码永久免费下载地址:http://www.jiandaima.com/blog/android-demo 卷 yunpan 的文件夹 PATH 列表 卷序列号为 0000-73EC E:. │ jiandaima.com文件列表生成.bat │ 例子大全说明.txt │ 本例子永久更新地址~.url │ 目录列表2016.03.10更新.txt │ ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签