SlidingMenu使用简介
- menu.setMode(SlidingMenu.LEFT_RIGHT);//设置侧滑菜单的位置,可选值LEFT , RIGHT , LEFT_RIGHT (两边都有菜单时设置)
- menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);// 设置触摸屏幕的模式,可选值MARGIN , CONTENT
- menu.setShadowWidthRes(R.dimen.shadow_width);//根据dimension资源文件的ID来设置阴影的宽度
- menu.setShadowDrawable(R.drawable.shadow);//根据资源文件ID来设置滑动菜单的阴影效果
- menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);//SlidingMenu划出时主页面显示的剩余宽度
- menu.setBehindWidth(400);//设置SlidingMenu菜单的宽度
- menu.setFadeDegree(0.35f);//SlidingMenu滑动时渐入渐出效果的值
- menu.setBehindScrollScale(1.0f);//设置SlidingMenu与下方视图的移动的速度比,当为1时同时移动,取值0-1
- menu.setSecondaryShadowDrawable(R.drawable.shadow);//设置二级菜单的阴影效果
- menu.setSecondaryMenu(R.layout.right_menu_frame);//设置右边(二级)侧滑菜单
- menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);//把滑动菜单添加进所有的Activity中,可选值SLIDING_CONTENT , SLIDING_WINDOW
- menu.setMenu(R.layout.menu_layout);//设置menu的布局文件
- menu.toggle();//动态判断自动关闭或开启SlidingMenu
- menu.showMenu();//显示SlidingMenu
- menu.showContent();//显示内容
b、设置触摸屏幕的模式
c、然后设置侧滑菜单的布局
/** * 在Activity中通过SlidingMenu构造方法,直接设置侧滑菜单 * @author Administrator * */ public class MainActivity1 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main1); // configure the SlidingMenu SlidingMenu menu = new SlidingMenu(this); menu.setMode(SlidingMenu.LEFT); // 设置触摸屏幕的模式 menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); menu.setShadowWidthRes(R.dimen.shadow_width); menu.setShadowDrawable(R.drawable.shadow); // 设置滑动菜单视图的宽度 menu.setBehindOffsetRes(R.dimen.slidingmenu_offset); // 设置渐入渐出效果的值 menu.setFadeDegree(0.35f); /** * SLIDING_WINDOW will include the Title/ActionBar in the content * section of the SlidingMenu, while SLIDING_CONTENT does not. */ menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT); // 为侧滑菜单设置布局 menu.setMenu(R.layout.left_menu); } }
public class MainActivity2 extends SlidingActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main1); setBehindContentView(R.layout.left_menu); // configure the SlidingMenu SlidingMenu menu = getSlidingMenu(); menu.setMode(SlidingMenu.LEFT); // 设置触摸屏幕的模式 menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); menu.setShadowWidthRes(R.dimen.shadow_width); menu.setShadowDrawable(R.drawable.shadow); // 设置滑动菜单视图的宽度 menu.setBehindOffsetRes(R.dimen.slidingmenu_offset); // 设置渐入渐出效果的值 menu.setFadeDegree(0.35f); }
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/id_main_ly" android:layout_width="match_parent" android:layout_height="match_parent" > <com.jeremyfeinstein.slidingmenu.lib.SlidingMenu xmlns:sliding="http://schemas.android.com/apk/res-auto" android:id="@+id/slidingmenulayout" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffffffff" sliding:behindOffset="0dp" sliding:behindScrollScale="1" sliding:fadeDegree="0.3" sliding:fadeEnabled="true" sliding:touchModeAbove="fullscreen" sliding:viewAbove="@layout/activity_content" /> <!-- sliding:viewAbove就是主界面要显示的布局内容 --> </RelativeLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="主界面" /> </LinearLayout>
public class MainActivity3 extends Activity { private SlidingMenu mLeftMenu; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main3); mLeftMenu = (SlidingMenu) findViewById(R.id.slidingmenulayout); mLeftMenu.setMode(SlidingMenu.LEFT); // 设置触摸屏幕的模式 mLeftMenu.setShadowWidthRes(R.dimen.shadow_width); mLeftMenu.setShadowDrawable(R.drawable.shadow); mLeftMenu.setMenu(R.layout.left_menu); mLeftMenu.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (mLeftMenu.isMenuShowing()) mLeftMenu.toggle(); } }); } }
public class MainActivity4 extends SlidingFragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main4); // 初始化SlidingMenu initFragmentMenu(); } private void initFragmentMenu() { Fragment leftMenuFragment = new LeftMenuFragment(); setBehindContentView(R.layout.left_menu_frame); getSupportFragmentManager().beginTransaction() .replace(R.id.layout_left_menu_frame, leftMenuFragment) .commit(); SlidingMenu menu = getSlidingMenu(); menu.setMode(SlidingMenu.LEFT_RIGHT); // 设置触摸屏幕的模式 menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN); menu.setShadowWidthRes(R.dimen.shadow_width); menu.setShadowDrawable(R.drawable.shadow); // 设置滑动菜单视图的宽度 menu.setBehindOffsetRes(R.dimen.slidingmenu_offset); // menu.setBehindWidth() // 设置渐入渐出效果的值 menu.setFadeDegree(0.35f); // menu.setBehindScrollScale(1.0f); menu.setSecondaryShadowDrawable(R.drawable.shadow); // 设置右边(二级)侧滑菜单 menu.setSecondaryMenu(R.layout.right_menu_frame); Fragment rightMenuFragment = new RightMenuFragment(); getSupportFragmentManager().beginTransaction() .replace(R.id.layout_right_menu_frame, rightMenuFragment) .commit(); } public void showLeftMenu(View view) { getSlidingMenu().showMenu(); } public void showRightMenu(View view) { getSlidingMenu().showSecondaryMenu(); } }
就介绍这么多吧
参考: