Android SlideMenu

第三方组件 SlideMenu 实现步骤与主要方法:

1、构建SlidingMenu menu=new SlidingMenu(context)
2、设置模式为左侧边栏  menu.setMode(SlidingMenu.LEFT);
3、设置菜单
View menuView=LayoutInflater.from(this).inflate(news_silding_menu, null);
menu.setMenu(menuView);
4、使SlidingMenu附加在Activity上,滑动可出现侧边栏
        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
5、开启菜单
        menu.toggle();//动态判断自动关闭或开启SlidingMenu
       menu.showMenu();//显示SlidingMenu


显示侧边栏代码:

slidingMenu = new SlidingMenu(this);                     //new一个侧边栏 slidingMenu.setMode(SlidingMenu.LEFT_RIGHT); 

slidingMenu.setMenu(menuView_L);                      //将布局加载到侧栏

slidingMenu.setSecondaryMenu(v1); slidingMenu.setBehindWidth(300);            //侧边栏出来的宽度 slidingMenu.setBehindOffset(380);                                                          
                 //剩余部分的宽度  

slidingMenu.setFadeDegree(0.35f);  

slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);                //侧边栏执行开始


SlidingMenu 常用属性介绍

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


练习:实现侧边栏效果,并且点击会出现已点击。

布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:background="#433d3d"
    tools:context="com.example.administrator.jreduch03.zuoye2Activity">
    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:stretchColumns="0,1,2">
        <TableRow>
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                android:layout_weight="1"
                />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                android:layout_weight="1"
                />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                android:layout_weight="1"
                />
        </TableRow>
        <TextView
            android:text="更多登录方式"
            android:id="@+id/tv"
            android:gravity="center"
            android:textSize="16sp"
            android:textColor="#ffffff"
            />

        <LinearLayout
            android:id="@+id/ll1">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#ffffff"
                android:text="    搜索"
                android:textSize="40sp"
                android:onClick="sousuo"
                android:id="@+id/tv1"
                />
        </LinearLayout>
        <LinearLayout
            >
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#ffffff"
                android:text="    收藏"
                android:textSize="40sp"
                />
        </LinearLayout>
        <LinearLayout>

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#ffffff"
                android:text="    通知"
                android:textSize="40sp"
                />
        </LinearLayout>
        <LinearLayout>

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#ffffff"
                android:text="    活动"
                android:textSize="40sp"
                />
        </LinearLayout>
        <LinearLayout>

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/ic_launcher"
                />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#ffffff"
                android:text="    设置"
                android:textSize="40sp"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/jietu"
                android:src="@mipmap/jietu1"
                android:layout_weight="1"
                />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@mipmap/jietu1"
                android:layout_weight="1"
                />
        </LinearLayout>
        <TableLayout
            android:stretchColumns="0,1">
            <TableRow>
                <TextView
                    android:text="离线"
                    android:textSize="20sp"
                    android:gravity="center"
                    />
                <TextView
                    android:text="夜间"
                    android:textSize="20sp"
                    android:gravity="center"
                    />
            </TableRow>
        </TableLayout>
    </TableLayout>
</RelativeLayout>

布局效果:



代码:

package com.example.administrator.jreduch05;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;

public class SlidingMenuActivity extends AppCompatActivity {
    private TextView tv;

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

        SlidingMenu slidingMenu=new SlidingMenu(this);
        View view =getLayoutInflater().inflate(R.layout.activity_zuoye82_2,null);
        slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        //设置屏幕滑动范围
        slidingMenu.setMenu(view);
        //设置左侧滑动布局
        slidingMenu.setMode(SlidingMenu.LEFT);
        slidingMenu.setBehindOffset(380);
        //设置滑出后屏幕剩余宽度
        slidingMenu.setFadeDegree(0.35f);
        //滑出后动画效果
        slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        //附加到Activity
        tv=(TextView) findViewById(R.id.tv1);
    }
    public void sousuo(View view){
        tv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getBaseContext(),
                        "点击了搜索",Toast.LENGTH_SHORT).show();
            }
        });
    }
}
效果:



时间: 2024-12-22 16:11:45

Android SlideMenu的相关文章

Android slidemenu怎么关闭手滑功能,只使用上面的按键来进行滑动

问题描述 Android slidemenu怎么关闭手滑功能,只使用上面的按键来进行滑动 请各位大神指教 解决方案 有一个方法把 设置false 你快捷键找下方法名 解决方案二: getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);改成getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);

关于Android Slidemenu的问题

问题描述 关于Android Slidemenu的问题 public class SlideMenu extends HorizontalScrollView{ private LinearLayout mWapper; private ViewGroup mMenu; private ViewGroup mContent; private int mScreenWidth; private int mMenuRightPadding; private int mMenuWidth = 0; p

Android WebView 优化之路_Android

随着app的迭代,嵌入的html5界面越来越多了,Webview这个强大组件引起的问题越发的多起来,例如: 1.WebView导致的oom问题 2.Android版本不同,采用了不同的内核,兼容性crash 3.不同版本实现不同,甚至URI不规范也会引起不同程度的问题 为了解决以上问题,我们把WebView模块做成独立进程 WebView独立进程 Android允许一个app同时存在多个进程,可以根据需要把不同的模块放到不同进程中处理. 比如微信v2.X+版本的时候把Network部分做轻重进程

Android实现导航菜单左右滑动效果

今天给大家介绍在Android中实现顶部导航菜单左右滑动效果的二种解决方案. 第一种解决方案:  在以前的一篇博文中我使用android-support-v4.jar实现了左右滑动指引效果,有兴趣的朋友可以查看: http://www.cnblogs.com/hanyonglu/archive/2012/04/07/2435589.html    那么今天第一个示例我仍然使android-support-v4.jar来实现菜单左右滑动效果,关于这个包的信息,不再详述,大家可以查看官方文档. 实现

Android 高级控件

高级控件: GridView ScrollView ViewPager SlideMenu PullToRefreshListView 1.ScrollView视图(滚动视图)可以有效的安排这些组件,浏览时可以进行滚屏的操作 垂直滚动--ScrollView 水平滚动--HorizontalScrollView ScrollView是单一容器,只能包含一个组件 练习:设置界面的垂直滚动                        理想效果                            

我的Android学习之旅(转)

  去年大概在七月份的时候误打误撞接触了一阵子Android,之后由于工作时间比较忙,无暇顾及,九月份的时候自己空闲的时间比较多,公司相对来说加班情况没以前严重.开启了个人的Android学习之旅,初衷是想将Android的博客做个索引文章的,不过想想还可以分享一些学习中的历程,算是对自己的Android学习 有个交代吧.由于在公司有工作,学习的时间通常就是周一到周五晚上的时间和周末时间,周一到周五晚上的时间不确定,因此牺牲了大量的周末时间来学习Android,有点像苦行僧,时间段持续了三个多月

类似于android onenote 主界面的多级侧滑怎么实现?

问题描述 类似于android onenote 主界面的多级侧滑怎么实现? 类似于android onenote 主界面的多级侧滑怎么实现? slidingmenu只有一级侧滑,怎么实现多级呢? 解决方案 这哥们写的,可以改造一下http://download.csdn.net/detail/jjyyhema/5041272 解决方案二: 嵌套几个slidemenu就是了. 解决方案三: 这看着不像是多级侧滑,应该是你点一个侧滑后,出来一个菜单,你点菜单内容,再出现一个侧滑?如果是这样.. 解决

android顶部导航条

今天给大家介绍在Android中实现顶部导航菜单左右滑动效果的二种解决方案. 第一种解决方案:  在以前的一篇博文中我使用android-support-v4.jar实现了左右滑动指引效果,有兴趣的朋友可以查看:http://www.cnblogs.com/hanyonglu/archive/2012/04/07/2435589.html  那么今天第一个示例我仍然使android-support-v4.jar来实现菜单左右滑动效果,关于这个包的信息,不再详述,大家可以查看官方文档. 实现原理是

Android SlidingMenu 使用详解

转自 :http://blog.csdn.net/lmj623565791/article/details/36677279 很多APP都有侧滑菜单的功能,部分APP左右都是侧滑菜单~SlidingMenu 这个开源项目可以很好帮助我们实现侧滑功能,如果对SlidingMenu 还不是很了解的童鞋,可以参考下本篇博客.将侧滑菜单引入项目的方式很多中,本博客先通过例子介绍各种引入方式,然后给大家展示个实例:主布局ViewPager,左右各一个侧滑菜单的用法,差不多已经能满足大部分应用的需求了.关于