AndroidStudio-3.2.1(十七)Slidingmenu的使用

本篇介绍第三方组件侧边栏菜单Slidingmenu的使用

下载Slidingmenu并编译aar文件

由于Slidingmenu的源码比较早,一些配置项和语法已近不适用,所以下载后需要进行修改以适应本机as的编译环境。

1、从GitHub上下载(https://github.com/jfeinstein10/SlidingMenu)
2、在as里打开现有工程,选择\SlidingMenu-master\library路径。
3、编辑配置件build.gradle

  • build:gradle的版本号指定为本机的
  • 3个SdkVersion 指定为本机的
  • 上下两个repositories 把常用的库都加上
buildscript {
    repositories {
        jcenter()
        mavenCentral()
        google()
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
    }
}
apply plugin: 'android-library'

dependencies {
    implementation 'com.android.support:support-v4:13.0.0'
}

android {
    compileSdkVersion 28

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 28
    }

    sourceSets {
        main {
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']

            manifest.srcFile 'AndroidManifest.xml'
        }
    }
}

repositories {
    jcenter()
    mavenCentral()
    google()
}

4、编辑配置件manifest,把里面的标签都删掉

uses-sdk android:minSdkVersion=“15” android:targetSdkVersion=“28” />
5、CustomViewAbove.java文件 有个FloatMath.sin方法 改为 Math.sin
6、完成以上修改后,先用小锤子Sync一下。
7、如果没问题,则双击工具assembleRelease进行build。最后生成的aar文件在\SlidingMenu-master\library\build\outputs\aar文件夹下。在这里插入图片描述

工程中添加aar文件

1、复制aar文件到app目录下的libs
2、修改app的gradle,如下图:
在这里插入图片描述
3、点击右上角的Syns Now。
4、完成后,可以在这里看到:
在这里插入图片描述
在这里插入图片描述

SlidingMenu的使用

使用方法只需两步:

1、在需要侧边菜单的Activity的onCreate方法中加入以下代码:

 SlidingMenu slidingmenu = new SlidingMenu(this);
 slidingmenu.setMode(SlidingMenu.LEFT);//设置滑出位置
 slidingmenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);//设置滑出宽度
 slidingmenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//设置可滑动操作的范围,一般是全屏
 slidingmenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);//设置挂载的Activity
 slidingmenu.setMenu(R.layout.slidingmenu);//设置菜单布局文件

2、在layout文件夹中,添加菜单的布局xml:

<?xml version="1.0" encoding="utf-8"?>
    <com.jeremyfeinstein.slidingmenu.lib.SlidingMenu
    xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/slidingmenu"
        android:background="#ff999999"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

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

            <Button
                android:id="@+id/button3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="按钮1" />

            <Button
                android:id="@+id/button4"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="按钮2" />

            <Button
                android:id="@+id/button5"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="按钮3" />
        </LinearLayout>
    </com.jeremyfeinstein.slidingmenu.lib.SlidingMenu>
其它

1、一个Activity可以加多个菜单SlidingMenu,左滑右滑都可以。
2、若让SlidingMenu响应系统菜单按钮,则在Activity中加入以下代码:

 @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        switch (keyCode) {
            case KeyEvent.KEYCODE_MENU:
                slidingmenu.toggle(true);
                break;
        }
        return super.onKeyDown(keyCode, event);
    }

3、菜单中控件的点击事件,与正常无异:

findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(SlidingmenuActivity.this, "啊 你点击了我!", Toast.LENGTH_SHORT).show();
            }
        });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值