实现效果
实现代码
1.新建项目
2.导入SlidingMenu库和v4包
3.代码
MainActivity
public class MainActivity extends SlidingFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
//设置侧拉菜单布局文件
setBehindContentView(R.layout.layout_left_menu);
//获取侧拉菜单对象
SlidingMenu slidingMenu = getSlidingMenu();
//全屏可拖拽
slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
//设置侧拉菜单方向
slidingMenu.setMode(SlidingMenu.LEFT);
//设置侧拉菜单的大小
slidingMenu.setBehindWidth(200);
//创建一个侧拉菜单Fragment对象
//1.创建一个内容页Fragment对象
LeftFragment leftFragment = new LeftFragment();
//2.获取fragment管理者对象
//3.开启事物
//4.替换指定id的布局内容
//5.提交
//参数一:替换布局的id,参数二:用哪个Fragment替换,参数三:fragment的唯一性标识
getSupportFragmentManager().beginTransaction().replace(R.id.fl_left_container, leftFragment,"TAG_LEFT").commit();
//创建内容页Fragment对象
//1.创建一个内容页Fragment对象
ContentFragment contentFragment = new ContentFragment();
//2.获取fragment管理者对象
//3.开启事物
//4.替换指定id的布局美容
//5.提交
//参数一:替换布局的id,参数二:用哪个Fragment替换,参数三:fragment的唯一性标识
getSupportFragmentManager().beginTransaction().replace(R.id.fl_content_container, contentFragment, "TAG_Content").commit();
}
}
activity_main.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/fl_content_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
Layout_left_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fl_left_container"
android:background="#00f"
android:orientation="vertical" >
</FrameLayout>
LeftFragment
public class LeftFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//创建左侧拉菜单的布局效果
TextView mTvLeft = new TextView(getActivity());
mTvLeft.setText("LeftMenuFragment");
return mTvLeft;
}
}
ContentFragment
public class ContentFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
TextView mTvContent = new TextView(getActivity());
mTvContent.setText("ContentFragment");
return mTvContent;
}
}