SlidingMenu的使用

来源:互联网 发布:淘宝店在那搞活动 编辑:程序博客网 时间:2024/06/05 19:26

对于SlidingMenu的使用首先第一步就是要将slidingmenu_library加入到工程中,然后让自己的项目依赖slidingmenu_library这个项目

SlidingMenu的使用非常简单  有两种方式得到SlidingMenu的对象

第一种:SlidingMenu  menu = new SlidingMenu(this);

第二种:  如果Activity继承的SlidingFragmentActivity     SlidingMenu  menu = getSlidingMenu();


第一种需求:左侧和右侧加SlidingMenu

左侧的SlidingMenu的布局menu_layout

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

右侧的SlidingMenu的布局right_layout

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


</LinearLayout>


在Activity的主布局中activity_main

<?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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="alice.bw.com.slindingmenubase.MainActivity">


    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onClick"
        android:text="点击开关" />
</RelativeLayout>


在MainActivity中

public class MainActivity extends AppCompatActivity {
    private static final String TAG = MainActivity.class.getSimpleName();


    private SlidingMenu menu;
    private ListView menu_lv;


    private int[] colors = {R.color.color_a, R.color.color_b, R.color.color_c, R.color.color_d, R.color.color_e, R.color.color_f};
    private String[] colorDes = {"A", "B", "C", "D", "E", "F"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        setContentView(R.layout.activity_main);
        menu = new SlidingMenu(this);


        // 设置模式  菜单是在左边还是在右边 默认在左边
        menu.setMode(SlidingMenu.LEFT_RIGHT);
        // 设置左侧菜单布局
        menu.setMenu(R.layout.menu_layout);
        // 设置菜单打开后距离右边的距离  主页面剩余的宽度
        menu.setBehindOffsetRes(R.dimen.behind_offset);
        // TOUCHMODE_FULLSCREEN 设置全屏触摸 可滑动菜单
        //TOUCHMODE_MARGIN  设置边滑动出发 滑动菜单
        //TOUCHMODE_NONE  滑动不触发菜单
        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        //设置阴影图片
        menu.setShadowDrawable(R.mipmap.ic_launcher);
        // 设置阴影宽度
        menu.setShadowWidth(10);
        // 滑动  效果
        menu.setFadeEnabled(true);
        menu.setFadeDegree(0.8f);




        // 设置右侧菜单
        menu.setSecondaryMenu(R.layout.right_layout);
        //关联到  Acitivity
        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);


        menu.setOnCloseListener(new SlidingMenu.OnCloseListener() {
            @Override
            public void onClose() {
                Log.i(TAG, "onClose: ");
            }
        });
        menu.setOnClosedListener(new SlidingMenu.OnClosedListener() {
            @Override
            public void onClosed() {
                Log.i(TAG, "onClosed: ");
            }
        });


        menu.setOnOpenedListener(new SlidingMenu.OnOpenedListener() {
            @Override
            public void onOpened() {
                Log.i(TAG, "onOpened: ");
            }
        });
        menu.setOnOpenListener(new SlidingMenu.OnOpenListener() {
            @Override
            public void onOpen() {
                Log.i(TAG, "onOpen: ");
            }
        });




        menu_lv = (ListView) findViewById(R.id.menu_lv);


        ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, colorDes);
        menu_lv.setAdapter(adapter);
        menu_lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                view.setBackgroundColor(colors[i]);
            }
        });


    }


    public void onClick(View view) {
        // 菜单的 开关
        menu.toggle();
    }
}


原创粉丝点击