2013.12.04 (5)——— android SlidingMenu之FragmentChangeActivity
16lz
2021-01-23
2013.12.04 (5)——— android SlidingMenu之FragmentChangeActivity
这个例子主要介绍了,如何实现主界面fragmen的切换
1、在侧边栏的Fragment里面
调用上层activity的switchContent方法
package com.jeremyfeinstein.slidingmenu.example.fragments;import android.os.Bundle;import android.support.v4.app.Fragment;import com.jeremyfeinstein.slidingmenu.example.BaseActivity;import com.jeremyfeinstein.slidingmenu.example.R;import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;public class FragmentChangeActivity extends BaseActivity {private Fragment mContent;public FragmentChangeActivity() {super(R.string.changing_fragments);}@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// set the Above Viewif (savedInstanceState != null)mContent = getSupportFragmentManager().getFragment(savedInstanceState, "mContent");if (mContent == null)mContent = new ColorFragment(R.color.red);// set the Above ViewsetContentView(R.layout.content_frame);getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, mContent).commit();// set the Behind ViewsetBehindContentView(R.layout.menu_frame);getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame, new ColorMenuFragment()).commit();// customize the SlidingMenugetSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);}@Overridepublic void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);getSupportFragmentManager().putFragment(outState, "mContent", mContent);}public void switchContent(Fragment fragment) {mContent = fragment;getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, fragment).commit();getSlidingMenu().showContent();}}
package com.jeremyfeinstein.slidingmenu.example.fragments;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.ListFragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.ListView;import com.jeremyfeinstein.slidingmenu.example.R;public class ColorMenuFragment extends ListFragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {return inflater.inflate(R.layout.list, null);}@Overridepublic void onActivityCreated(Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);String[] colors = getResources().getStringArray(R.array.color_names);ArrayAdapter<String> colorAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, android.R.id.text1, colors);setListAdapter(colorAdapter);}@Overridepublic void onListItemClick(ListView lv, View v, int position, long id) {Fragment newContent = null;switch (position) {case 0:newContent = new ColorFragment(R.color.red);break;case 1:newContent = new ColorFragment(R.color.green);break;case 2:newContent = new ColorFragment(R.color.blue);break;case 3:newContent = new ColorFragment(android.R.color.white);break;case 4:newContent = new ColorFragment(android.R.color.black);break;}if (newContent != null)switchFragment(newContent);}// the meat of switching the above fragmentprivate void switchFragment(Fragment fragment) {if (getActivity() == null)return;if (getActivity() instanceof FragmentChangeActivity) {FragmentChangeActivity fca = (FragmentChangeActivity) getActivity();fca.switchContent(fragment);} else if (getActivity() instanceof ResponsiveUIActivity) {ResponsiveUIActivity ra = (ResponsiveUIActivity) getActivity();ra.switchContent(fragment);}}}
这个例子主要介绍了,如何实现主界面fragmen的切换
1、在侧边栏的Fragment里面
private void switchFragment(Fragment fragment) {if (getActivity() == null)return;if (getActivity() instanceof FragmentChangeActivity) {FragmentChangeActivity fca = (FragmentChangeActivity) getActivity();fca.switchContent(fragment);} else if (getActivity() instanceof ResponsiveUIActivity) {ResponsiveUIActivity ra = (ResponsiveUIActivity) getActivity();ra.switchContent(fragment);}}
调用上层activity的switchContent方法
public void switchContent(Fragment fragment) {mContent = fragment;getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, fragment).commit();getSlidingMenu().showContent();}
更多相关文章
- Android实现乘法小例子(两个Activity)
- Android一个等待进度条的例子
- Android Dialog 对话框例子
- 地图入门(一):Android上使用Google Maps加标注的最最简单的例子
- Android]仿通讯录ListView小例子
- android SlidingMenu 侧边菜单划出后剩余部分阴影设置
- 最简单的基于FFmpeg的移动端例子:Android 视频解码器-单个库版
- android报表例子