侧拉菜单

库文件:github:https://github.com/jfeinstein10/SlidingMenu

1.加载库文件:

把项目的libray文件import进项目中

右击工程->properties->Android->在library中选add

2.主界面activity_sliding_menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
        android:text="TextView" />

</LinearLayout>

3.侧边栏布局文件sliding_menu_left.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:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

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

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

    <Button
        android:id="@+id/button5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>

4.Activity文件:

import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class SlidingMenuAcitivity extends Activity {
    SlidingMenu menu;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sliding_menu);
        menu = new SlidingMenu(this);

        // 设置侧边栏模式
        menu.setMode(SlidingMenu.LEFT);
        // 左右双侧边
        // menu.setMode(SlidingMenu.LEFT_RIGHT);
        // menu.setSecondaryMenu(R.layout.sliding_menu_left);
        // 设置菜单如何被显示出来
        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        // 设置左边菜单和内容之间的交界处的阴影宽度
        menu.setShadowWidthRes(R.dimen.shadow_width);
        // 阴影图片
        menu.setShadowDrawable(R.drawable.bg_action_shadow_left);
        // 设置左边菜单距离右边的距离
        menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        // 设置渐变效果
        menu.setFadeDegree(0.35f);
        // 设置菜单如何被显示出来
        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        // 把菜单贴到activity
        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        // 左边菜单的布局
        menu.setMenu(R.layout.sliding_menu_left);

        Button button = (Button) findViewById(R.id.button1);
        // 侧边栏按钮事件监听
        button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(SlidingMenuAcitivity.this, "u click", Toast.LENGTH_LONG).show();
            }
        });
    }

    @Override
    public void onBackPressed() {
        // 检测侧边栏是否已显示,如果已显示则关闭侧边栏,如果未显示则退出此activity
        if (menu.isMenuShowing()) {
            menu.showContent();
        } else {
            super.onBackPressed();
        }
    }
}
原文地址:https://www.cnblogs.com/mada0/p/4828641.html