实现的效果如图
首先要把Slidinmeulibrary工程导入工作空间,并建立连接
思路
在MainActivity布局中建一个FrameLayout控件,然后再建一个FrameLayout用来放Slidinmeulibrary里的布局。最后在为两个FrameLayout赋值。
MainActivity中的布局代码
<FrameLayout
android:id="@+id/fl"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
第二个FrameLayout的布局item_mean.xml
<FrameLayout
android:id="@+id/fl_mean"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
MainActivity中的代码
//继承SlidingFragmentActivity
public class MainActivity extends SlidingFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//设置侧滑的布局
setBehindContentView(R.layout.item_mean);
SlidingMenu slidingMenu = getSlidingMenu();
//设置侧滑的滑出方式
slidingMenu.setMode(SlidingMenu.LEFT);
//设置滑动的距离
slidingMenu.setBehindOffset(100);
//设置侧滑的触发事件
slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
//建两个类继承fragment
ContentFragment content= new ContentFragment();
MeanFragment mean= new MeanFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.fl,content,"context").commit();
getSupportFragmentManager().beginTransaction().replace(R.id.fl_mean,mean,"mean").commit();
//判断是否打开
slidingMenu.isShown();
//关闭侧滑
slidingMenu.showContent();
//打开侧滑
slidingMenu.showMenu();
}
ContentFragment的代码
public class ContentFragment extends Fragment {
private TextView textView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = View.inflate(getActivity(), R.layout.item, null);
textView = (TextView) view.findViewById(R.id.textView1);
return view;
}
// 自定义的公共方法
public void setstring(String str) {
textView.setText(str);
}
}
MeanFragment的代码
public class MeanFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = View.inflate(getActivity(), R.layout.item, null);
//通过getActivity()得到MainActivity
MainActivity activity = (MainActivity) getActivity();
//通过fragment的标签得到ContentFragment
ContentFragment content=(ContentFragment) activity.getSupportFragmentManager().findFragmentByTag("context");
//ContentFragment中的自定义公共方法用于传值
content.setstring("成功");
//关闭侧滑
activity.getSlidingMenu().toggle();
return view;
}
}