效果如下:
直接上代码,留着以后用,代码目录结构如下:
其中BaseFragment.java是另外5个片段的基类,代码如下:
包com.xuliugen.newsclient.fragment.base; 进口android.os.Bundle; 进口android.support.v4.app.Fragment; 进口android.view.LayoutInflater; 进口android.view.View; 进口android.view.ViewGroup; 进口android.widget.TextView;/* * *片段的基类 * * @author xuliugen * */公开课BaseFragment延伸片段{ @Override 公共空间> 公开课Fragment1延伸BaseFragment { }
MenuFragment.java是用于管理这几个片段的
包com.xuliugen.newsclient.fragment; 进口java.util.ArrayList; 进口并不知道; 进口android.os.Bundle; 进口android.support.v4.app.Fragment; 进口android.util.Log; 进口android.view.LayoutInflater; 进口android.view.View; 进口android.view.ViewGroup; 进口android.widget.AdapterView; 进口android.widget.AdapterView.OnItemClickListener; 进口android.widget.ArrayAdapter; 进口android.widget.ListView; 进口com.xuliugen.newsclient.MainActivity; 进口com.xuliugen.newsclient.R; 进口com.xuliugen.newsclient.fragment.base.BaseFragment;/* * *继承片段要自己实现的方法 * *用于填充侧滑菜单中的数据 * *> 包com.xuliugen.newsclient; 进口android.os.Bundle; 进口android.view.Window; 进口com.jeremyfeinstein.slidingmenu.lib.SlidingMenu; 进口com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity; 进口com.xuliugen.newsclient.fragment.Fragment1; 进口com.xuliugen.newsclient.fragment.MenuFragment; 进口com.xuliugen.newsclient.fragment.base.BaseFragment;/* * *使用滑动菜单首先要继承SlidingFragmentActivity,然后实现的一般步骤如下: * * 1,得到滑动菜单 * * 2 .设置滑动菜单是在左边还是在右边出来 * * 3 .设置滑动菜单出来之后,内容页,显示的剩余宽度 * * 4 .设置滑动菜单的阴影设置阴影,阴影需要在开始的时候特别淡,慢慢变暗 * * 5 .设置阴影的宽度 * * 6 .设置滑动菜单的范围 * * @author xuliugen * */公开课MainActivity延伸SlidingFragmentActivity { SlidingMenu SlidingMenu; @Override 公共空间onCreate(包savedInstanceState) { requestWindowFeature (Window.FEATURE_NO_TITLE); super.onCreate (savedInstanceState); setBehindContentView (R.layout.menu);//加载SlidingFragment的初始化 setContentView (R.layout.content);//这里是动态加载的页面//设置内容内容中的初始值 Fragment1 Fragment1=new Fragment1 ();//getSupportFragmentManager ()//.beginTransaction () .replace (R.id。content_frag fragment1)//.commit ();////1,得到滑动菜单 slidingMenu=getSlidingMenu ();//2 .设置滑动菜单是在左边还是在右边出来(左,右,左,右) slidingMenu.setMode (SlidingMenu.LEFT);//3 .设置滑动菜单出来之后,内容页,显示的剩余宽度 slidingMenu.setBehindWidthRes (R.dimen.slidingmenu_offset);//4 .设置滑动菜单的阴影设置阴影,阴影需要在开始的时候特别淡,慢慢变暗 slidingMenu.setShadowDrawable (R.drawable.shadow);//5 .设置阴影的宽度 slidingMenu.setShadowWidth (R.dimen.shadow_width);//6 .设置滑动菜单的范围//SlidingMenu.TOUCHMODE_FULLSCREEN:全屏//SlidingMenu.TOUCHMODE_MARGIN:边沿的时候滑动//SlidingMenu.TOUCHMODE_NONE:不滑动 slidingMenu.setTouchModeAbove (SlidingMenu.TOUCHMODE_FULLSCREEN);//创建fragmentment MenuFragment MenuFragment=new MenuFragment (); getSupportFragmentManager()//获取片段的管理者 .beginTransaction()//开启事物 .replace (R.id。menu_frag menuFragment,“菜单”)//替换,将menuFragment中的数据替换到R.id.menu_frag中 .commit();//提交 }/* * *方法回调:在MenuFragment类中进行调用 *暴露替换帧布局内容的操作 * @param片段 */公共空间switchFragment (BaseFragment片段){//getSupportFragmentManager ()//.beginTransaction () .replace (R.id。content_frag片段)//.commit (); slidingMenu.toggle();//点击之后自动切换 } }Android开源框架的SlidingFragment的使用示例