Android SlidingMenu 滑出侧边栏

摘要:
该开发不采用上述方法。相反,SlidingMenu开源库被用作工具架包,并引入jar包来开发项目。这样,滑动布局可以以控件的形式反映出来,使用起来相对简单。

  最近有个项目需要使用侧边栏,而且希望是左右两侧都能够滑出侧边菜单,在网上查找实现方式时,发现大家用的最多的还是大神jfeinstein10的SlidingMenu库,地址https://github.com/jfeinstein10/SlidingMenu,通过将开源库导入eclipse,并把它作为library引入自己的工程,经过配置就可以实现SlidingMenu的效果,网上有很多例子,大家可以下一个研究研究,初学者可以直接在例子上修改,开发自己的应用,当然这样不够严谨。

  这次开发并没有采用上面的方式,而是将SlidingMenu开源库作为架包,通过引入jar包来开发项目,这样可以将滑动布局以控件的形式体现出来,使用时比较简单。本次开发参考的代码为http://download.csdn.net/download/woaixinxin123/5883503

 

MainActivity.java

package com.example.slidingmenudemo;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.RelativeLayout.LayoutParams;

import com.slidingmenu.lib.SlidingMenu;  //引用的SlidigMenu包

public class LeftAndRightActivity extends FragmentActivity  {

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

    private void initView() {
        
        final SlidingMenu menu = new SlidingMenu(this);
        Button button = new Button(this);
        button.setText("left");
        button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                menu.showMenu();
            }
        });

        Button button2 = new Button(this);
        button2.setText("right");
        button2.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                menu.showSecondaryMenu();
            }
        });
        
        RelativeLayout view = new RelativeLayout(this);
        LayoutParams llp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        llp.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
        view.addView(button, llp);
        LayoutParams rlp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        rlp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);
        view.addView(button2, rlp);
        setContentView(view);
        
        DisplayMetrics metric = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metric);
        int width = metric.widthPixels; 
        int height = metric.heightPixels; 

        menu.setMode(SlidingMenu.LEFT_RIGHT);
        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        menu.setShadowWidthRes(R.dimen.shadow_width);
        menu.setShadowDrawable(R.drawable.shadow);
        menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        menu.setBehindWidth(width*2/3);
        menu.setFadeDegree(0.35f);
        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        menu.setMenu(R.layout.left_menu_frame);
        menu.setShadowDrawable(R.drawable.shadow);
        getSupportFragmentManager().beginTransaction().replace(R.id.left_menu_frame, new NavigationFragment()).commit();   //左侧菜单界面由NavigationFragment确定
        menu.setSecondaryMenu(R.layout.right_menu_frame);
        menu.setSecondaryShadowDrawable(R.drawable.shadow);
        //左右两侧滑出菜单样式可以通过自己写的Fragment定制,在此不再赘述
    }

}

 

免责声明:文章转载自《Android SlidingMenu 滑出侧边栏》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java中的使用RSA算法进行公钥加密私钥解密 .进制转换的学习下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C# winform 动态添加控件 以及 事件

C# winform 动态添加控件 以及 事件以下代码将在加载窗体时动态生成若干按钮,并排列显示在winform上using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using Sys...

Android 代码设置RelativeLayout元素居中

[java]view plaincopy RelativeLayout relativeLayout= new RelativeLayout(this);    [java]view plaincopy RelativeLayout.LayoutParams rlp=new RelativeLayout.LayoutParams(Rela...

在工具栏上新增功能按钮

在工具栏上新增功能按钮,该按钮定义保存在系统结构体SSCRFIELDS中,N为一个整数类型的序号例如当N等于1时,按钮描述保存在字段SSCRFIELDS-functxt_01中,按钮的功能代码将默认赋值为‘FC01’,保存在字段SSCRFIELDS-UCOMM中,其使用方法如下例所示。注意:本例中共有两个按钮由于按钮属于屏幕元素的一部分,多以必须定义好屏幕...

Android学习——后台程序

Android学习——后台程序 在Android系统中我们一直在接触着前台界面程序,其实在一开始接触Android时就听说了,程序就有有界面和无界面之分。后台程序就是这类无界面的程序,它在后台执行,没有影响你的界面。比如短信监听程序,执行在后台,当有短信时才给你们提示,振动或声音;比如闹钟,设定好时间后,在定时通知你;再比如mp3播放器,选择好音乐后,在待...

第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料

转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9057257             由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字和图片等这样的效果,几经波折,查阅了一番资料,做了一个Demo。实现起来的效果还是不错的,不敢独享,决定写一个总结的教程,供大家互相交...

Android开发模拟器启动失败的解决方法

1. 错误提示信息  错误大概意思:连接到adb(android debug bridge)出现了一个严重的错误,你必须重启adb和Eclipse工具,请确保在位置……adb工具被执行了。 adb:是sdk提供的工具,在android-sdk-windowsplatform-tools目录下,通过adb可以连接到android手机或模拟器。像91手机...