Android SlidingMenu使用详解

摘要:
layout_ height=“匹配租金”tools://schemas.android.com/apk/res/android“android:layout_height=”match_ Parent“android:orientation=”vertical“&gt:text=”我是侧滑界面“/&gt:

SlidingMenu是安卓程序中的侧滑界面,和系统自带的DrawerLayout的作用是相同的,主要是视觉效果不一样,手机版QQ使用的侧滑界面就是SlidingMenu

初步使用方法:实现侧滑界面滑出效果

步骤一:下载好SlidingMenu类库文件后导入到项目中

SlidingMenu类库网盘下载地址:

链接:https://pan.baidu.com/s/1df7GKm  密码:vg50  

将下载好的SlidingMenu-master文件中的library导入到当前项目中

导入后注意修改library的build.gradle中的以下信息和当前项目的一致

Android SlidingMenu使用详解第1张

Android SlidingMenu使用详解第2张

之后可能会报一个错,显示的是FloatMath已经过期,手动将FloatMath改成Math就好

步骤二:成功导入类库后就可以在java代码中使用SlidingMenu这个类啦,通过java代码实现侧滑界面效果

先上activity_main.xml中的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:background="#ed0e0e"
    android:layout_height="match_parent"
    tools:context="com.contentprovide.liuliu.slidmingmenu_4.MainActivity">


    <Button
        android: 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />


</LinearLayout>

 侧滑界面需要引用的自定义的资源布局slid.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">


   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="我是侧滑界面"
       />


</LinearLayout>

Java代码实现: 

package com.contentprovide.liuliu.slidmingmenu_4;

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

import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;

public class MainActivity extends AppCompatActivity {


    SlidingMenu slidingMenu;

    Button button;

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

        button = (Button) findViewById(R.id.button);

        slidingMenu = new SlidingMenu(this);
//        设置呈现模式
        slidingMenu.setMode(SlidingMenu.LEFT);//呈现模式为左边
//        设置侧滑界面偏移出的尺寸
        slidingMenu.setBehindOffset(200);
//        设置全屏都可以触摸
        slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
//        添加到当前Activity当中
        slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
//        给侧滑界面引用一个布局资源作为所展示的界面
        slidingMenu.setMenu(R.layout.slid);

//        给主界面的按钮添加事件,点击滑出菜单
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                slidingMenu.toggle(true);
            }
        });




    }
}

 实现效果:

Android SlidingMenu使用详解第3张

SlidingMenu常用属性

//设置侧滑菜单的位置,可选值LEFT , RIGHT , LEFT_RIGHT (两边都有菜单时设置)

menu.setMode(SlidingMenu.LEFT_RIGHT);

// 设置触摸屏幕的模式,可选只MARGIN , CONTENT 
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);

//根据dimension资源文件的ID来设置阴影的宽度
menu.setShadowWidthRes(R.dimen.shadow_width);

//根据资源文件ID来设置滑动菜单的阴影效果
menu.setShadowDrawable(R.drawable.shadow);

// 这两个都是设置滑动菜单视图的宽度,二选一
//设置SlidingMenu离屏幕的偏移量
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
//设置宽度
menu.setBehindWidth()

// 设置渐入渐出效果的值
menu.setFadeDegree(0.35f);

//设置SlidingMenu与下方视图的移动的速度比,当为1时同时移动,取值0-1
menu.setBehindScrollScale(1.0f);

//设置二级菜单的阴影效果
menu.setSecondaryShadowDrawable(R.drawable.shadow);

//设置右边(二级)侧滑菜单
menu.setSecondaryMenu(R.layout.right_menu_frame);

//为侧滑菜单设置布局
menu.setMenu(R.layout.leftmenu);

//把滑动菜单添加进所有的Activity中,可选值SLIDING_CONTENT , SLIDING_WINDOW
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);

进阶使用方法:给在SlidingMenu中的布局中的各种空间添加事件,结合使用Fragment

滑出侧滑界面后我们需要在侧滑界面中进行下一步操作,这样侧滑界面中的布局里的事件就要单独写了

通过serMenu(a)方法给侧滑界面引用了布局界面a.xml,在这个a.xml布局界面中只有一个FrameLayout,侧滑界面中的所有代码是写在Fragment中的,然后通过使用FragmentManager将Fragment替换掉此Fragment,这下就相当于setMenu方法引用的是Fragment了

实现效果:

Android SlidingMenu使用详解第4张

 

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

上篇C语言--isspace()函数实现echart折线图系列一:折线图基本配置下篇

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

相关文章

双系统开机引导菜单修复方法 进win7无须重启|metro引导|双系统菜单名字修改

此文转自互联网,一部分是原创。 主要内容 1.修复双系统菜单(win7与win8双系统),进入win7不再需要重启,普通菜单样式(普通引导,非metro界面),更加简洁,实用,开机即可选择操作系统 2.改双系统启动菜单的名字或者改成中文。 3.使用NTbootautofix强力修复 双系统 用win8 metro引导 考虑到win8的稳定性和兼容性,相信很...

leaks工具查找内存泄露

作为一名iOS开发攻城狮,在苹果没有出ARC(自动内存管理机制)时,我们几乎有一半的开发时间都耗费在这么管理内存上.后来苹果很人性的出了ARC,虽然在很大程度上,帮助我们开发者节省了精力和时间.但是我们在开发过程中,由于种种原因,还是会出现内存泄露的问题.内存泄露是一个很严重的问题.下面就简单介绍下怎么使用Xcode7自带的Instruments中的Lea...

第一行代码

基本布局 线性布局:LinearLayout android:orientation:指定排列的方向,参数:vertical/horizontal。不指定时,默认的排列方向是horizontal。 android:layout_gravity:指定控件在布局的对齐方式。可以用“|”分割,同时指定多个参数。 注意: 排列方向为horizontal时...

IDEA中统计项目代码的总行数

方法    安装“Statistic”插件步骤    打开idea设置界面,选择 plugins标签   点击下面“Browse repositories”按扭,浏览插件仓库   搜索“Statistic”插件,点击 install   根据提示重启 Idea   在idea下方任务栏,选择点击“Statistic”,然后点击 “refresh”,就会看到...

PLSQL 使用技巧 常用设置 卡顿问题 病毒防范

相关工具版本:PL/SQL Developer: 9.0.4.1644  Oracle : Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Productionmore:Oracle 10g是第一个为网络计算设计的数据库管理系统;Oracle 11g合并和扩展了Oracle特有的功...

三种自定义圆形按钮的方法

占坑 1、自定义的view,在onDraw方法里用canvas绘制一个圆。 2、用ImageButton,然后背景传入一个圆形的图片。 3、用shape编写形状,button里指定shape。 只有方法3能有点击的阴影效果,方法1和2看不出点击效果 一:自定义view 画了圆之外,其实整个控件还是矩形的,必须让背景透明 public class Circl...