sildingmenu使用

来源:互联网 发布:a一300美工介刀 编辑:程序博客网 时间:2024/06/05 00:29
public class SlidingmenuActivity extends SlidingFragmentActivity implements onSlindingItemClick{     private SlidingMenu slidingMenu;     public void oncreat(Bunlde saveInstanceState);     setTitle("首页");     // 1.设置slidingMenu首页显示的内容,通常用一个fragment来加载     setContentView(R.layout.slidingmenu_frame_content);     // 2.设置slidingMenu左边的视图     setBehindContentView(R.layout.slidingmenu_left_menu);     // 3.获得实例并设置相应属性     slidingMenu = getSlidingMenu();     slidingMenu.setMode(SlidingMenu.Left);     slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN); //触摸边缘才会滑动     slidingMenu.setFadeDegree(0.35f);//设置滑动的阴影透明度     slidingMenu.setShadowWidthRes(R.dimen.shodow_wide)//设置阴影图片宽度     slidingMenu.setBehindOffsetRes();//SlidingMenu滑出主页时显示的剩余宽度     slidingMenu.setShadowDrawable(R.drawable.drawer_shadow);//设置阴影图片          //4.添加视图     FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction;     fragmentTransaction.replace(R.id.content,New homeFragment()); // R.id.content为R.layout.slidingmenu_frame_content里的FrameLayout     fragmentTransaction.replace(R.id.left_menu, new LeftMenuFragment()); //填充leftMenu视图     fragmentTransaction.commit();     //5.使用左上方icon可点,这样在onOptionsItemSelected里面才可以监听到R.id.home     getActionBar().setDisplayHomeAsUpEnabled(true); //注意:android:theme NoActionBar不要设置!           @Overridepublic boolean onOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stub   switch (item.getItemId()) {case android.R.id.home:toggle();  //判断sliding是否展开return true;default:return super.onOptionsItemSelected(item);}}//seletItem是onSlindingItemClick接口的方法,实现后就可以通过Fragment来操作slidingmenu@Overridepublic void seletItem(int position) {      // TODO Auto-generated method stubFragment fragment = null;switch (position) {case 0:fragment = new UserInfoFragment();break;case 1:fragment = new NotificationSettingFragment();break;case 2:fragment = new ChangePasswordFragment();break;case 3:fragment = new AboutUsFragment();break;default:break;}if(fragment!=null){FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();fragmentTransaction.replace(R.id.content, fragment).commit();slidingMenu.showContent();} }

使用slidingmenu中还会遇到fragment

public class LeftMenuFragMent extends Fragment{private Activity mActivity;  //用于在Fragment中直接用Activity跳转private onSlidingItemClick callBack; //此接口需要在slidingMenuActivity中实现,通过操作Fragment来改变slidingMenuActivity的状态或值//1.制定接口public interface onSlidingItemClick{public void seletItem(int position);}                //2.绑定Activity        @Overridepublic void onAttach(Activity activity) {// TODO Auto-generated method stubtry{callBack = (onSlidingItemClick)activity;} catch(ClassCastException e) {throw new ClassCastException(activity.toString()+ " must implement OnResolveTelsCompletedListener");}super.onAttach(activity);}//3.初始化fragment@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubView view = inflater.inflate(R.layout.tab_center, null);mActivity = this.getActivity();findView(view);return view;}private void findView(View view){RelativeLayout userInfo_relativeLayout = (RelativeLayout)view.findViewById(R.id.tab_center_userInfo_relativeLayout);RelativeLayout notifications_relativeLayout = (RelativeLayout)view.findViewById(R.id.tab_center_notifications_relativeLayout);RelativeLayout changepassword_relativeLayout = (RelativeLayout)view.findViewById(R.id.tab_center_changepassword_relativeLayout);RelativeLayout opinion_relativeLayout = (RelativeLayout)view.findViewById(R.id.tab_center_opinion_relativeLayout);RelativeLayout about_relativeLayout = (RelativeLayout)view.findViewById(R.id.tab_center_about_relativeLayout);RelativeLayout tab_center_help_relativeLayout = (RelativeLayout)view.findViewById(R.id.tab_center_help_relativeLayout);  Button logout_button = (Button)view.findViewById(R.id.tab_center_logout_button);userInfo_relativeLayout.setOnClickListener(new OnClickListener() {      //个人信息@Overridepublic void onClick(View v) {// TODO Auto-generated method stubcallBack.seletItem(0);}});notifications_relativeLayout.setOnClickListener(new OnClickListener() {   //消息提醒设置@Overridepublic void onClick(View v) {// TODO Auto-generated method stubcallBack.seletItem(1);}});changepassword_relativeLayout.setOnClickListener(new OnClickListener() {      //修改密码@Overridepublic void onClick(View v) {callBack.seletItem(2);// TODO Auto-generated method stub}});about_relativeLayout.setOnClickListener(new OnClickListener() {      //关于我们@Overridepublic void onClick(View v) {// TODO Auto-generated method stubcallBack.seletItem(3);}});tab_center_help_relativeLayout.setOnClickListener(new OnClickListener() {      //帮助中心@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent = new Intent(mActivity,HelpActivity.class);startActivity(intent);}});logout_button.setOnClickListener(new OnClickListener() {   //用户注销@Overridepublic void onClick(View v) {AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);builder.setMessage("要退出登录吗?")        .setCancelable(true).setPositiveButton("确定",  new android.content.DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubdialog.dismiss();MainApplication.loginedUser = new User();}}).setNegativeButton("取消", new android.content.DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubdialog.dismiss();}});AlertDialog alert = builder.create();    alert.show();// TODO Auto-generated method stub}});}}



0 0
原创粉丝点击