Android SlideMenu

简介: 第三方组件 SlideMenu 实现步骤与主要方法: 1、构建SlidingMenu menu=new SlidingMenu(context) 2、设置模式为左侧边栏  menu.setMode(SlidingMenu.LEFT); 3、设置菜单 View menuView=LayoutInflater.from(this).inflate(news_silding_menu,

第三方组件 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();
            }
        });
    }
}
效果:



目录
相关文章
|
6月前
|
XML Java Android开发
34. 【Android教程】菜单:Menu
34. 【Android教程】菜单:Menu
149 2
|
7月前
|
XML Java Android开发
Android控件之基础控件——进度条类的view——TextView、Checkbox复选控件、RadioButton单选控件、ToggleButton开关、SeekBar拖动条、menu、弹窗
Android控件之基础控件——进度条类的view——TextView、Checkbox复选控件、RadioButton单选控件、ToggleButton开关、SeekBar拖动条、menu、弹窗
752 1
|
Android开发
Android 中选项菜单(Option menu)的用法
Android 中选项菜单(Option menu)的用法
215 0
|
Android开发
Android 中实现上下文菜单(Context menu)详解
Android 中实现上下文菜单(Context menu)详解
124 0
|
XML Android开发 数据格式
Android 底部导航栏(一、BottomNavigationView+Menu+Fragment)
现在常用的App主页都会有一个底部导航栏,根据需求也使用过好几种方法进行实现,于是想着还是总结一下,今天还写一个简单的BottomNavigationView方法来实现这个功能
|
XML Java 数据格式
Android_三种常用Menu菜单(附源码)
记录一下我写菜单的代码,我写了一共有三种菜单,从常用到不常用。
206 0
|
XML 数据可视化 API
安卓 topic-菜单 Menu
http://developer.android.youdaxue.com/guide/topics/ui/menus.html 菜单是许多应用类型中常见的用户界面组件。要提供熟悉而一致的用户体验,您应使用 Menu API 呈现 Activity 中的用户操作和其他选项。 从 Android 3.0(API 级别 11)开始,采用 Android 技术的设备不必再提供一个专用“菜单”按钮。随着这种改变,Android 应用需摆脱对包含 6 个项目的传统菜单面板的依赖,取而代之的是要提供一个应用栏来呈现常见的用户操作。 尽管某些菜单项的设计和用户体验已发生改变,但定义一系列操作和选项所使用的语
143 0
安卓 topic-菜单 Menu