android实现侧滑SlidingMenu(XML或者新的Activity)

1、GitHub下载项目SlidingMenu
开源库地址:https://github.com/jfeinstein10/SlidingMenu
  ①、首先要在GitHub下载库包并解压,将SlidingMenu-master目录下的library文件夹拷贝到自己的Project的app\libs目录下,然后我把文件夹名“library”改成“SlidingMenu”了

②、SlidingMenu目录下的build.gradle文件需要更改,主要是一些sdk和tools的版本,和app目录下的build.gradle文件对应着改,还有classpath需要改成推荐的版本

③、现在就可以导入了,File -> New -> Import Module,然后将SlidingMenu的完整路径(e.g. “C:\Demo\app\libs\SlidingMenu”)填写就可以了

④、最后再在app目录下的build.gradle文件中追加一条“compile project(’:SlidingMenu’)”,然后Build一下Project就大功告成了

2、XML中使用

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ff9999"
    android:orientation="vertical">
    <com.jeremyfeinstein.slidingmenu.lib.SlidingMenu

    android:id="@+id/slidingmenulayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
        android:id="@+id/mybtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ClickMe"/>

</com.jeremyfeinstein.slidingmenu.lib.SlidingMenu>
</LinearLayout>

3、Activity中(注意加载xml的时候,生命控件需要在SlidingMenu之后)

package com.example.administrator.myslidingmenu;

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

import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private SlidingMenu mSlidingMenu;
    /**
     * ClickMe
     */
private Button mMybtn;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mSlidingMenu = new SlidingMenu(this);
    mSlidingMenu.setMode(SlidingMenu.LEFT);     //设置从左弹出/滑出SlidingMenu
    mSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);   //设置占满屏幕
    mSlidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);    //绑定到哪一个Activity对象
    mSlidingMenu.setMenu(R.layout.slidingmenulayout);                   //设置弹出的SlidingMenu的布局文件
    mSlidingMenu.setBehindOffsetRes(R.dimen.cehua);       //设置SlidingMenu所占的偏移
    initView();

}

//按下手机的Menu键,将会弹出SlidingMenu,取代传统的Menu界面
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    switch (keyCode) {
        case KeyEvent.KEYCODE_MENU:
            mSlidingMenu.toggle(true);
            break;
        default:
            break;
    }
    return super.onKeyDown(keyCode, event);
}

private void initView() {
    mMybtn = (Button) findViewById(R.id.mybtn);
    mMybtn.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        default:
            break;
        case R.id.mybtn:
            Toast.makeText(this,"点击" ,Toast.LENGTH_LONG).show();
            break;
    }
}

}

4、报错地方改为:

		①:	if (event.hasNoModifiers()) {
					handled = arrowScroll(FOCUS_FORWARD);
				} else if (event.hasModifiers(KeyEvent.META_SHIFT_ON)) {
					handled = arrowScroll(FOCUS_BACKWARD);
				}
        ②return (float) Math.sin(f);

5、效果图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值