sildingmenu使用

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不要设置!
    	
    	   @Override
	public 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
	@Override
	public void seletItem(int position) {      
		// TODO Auto-generated method stub
		Fragment 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
        	@Override
	public void onAttach(Activity activity) {
		// TODO Auto-generated method stub
		try{
		callBack = (onSlidingItemClick)activity;
		} catch(ClassCastException e) {
			throw new ClassCastException(activity.toString()
					+ " must implement OnResolveTelsCompletedListener");
		}
		super.onAttach(activity);
	}
	
	//3.初始化fragment
		@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		View 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() {      //个人信息
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				callBack.seletItem(0);
			}
		});
		
		notifications_relativeLayout.setOnClickListener(new OnClickListener() {   //消息提醒设置
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				callBack.seletItem(1);
			}
		});
		
		changepassword_relativeLayout.setOnClickListener(new OnClickListener() {      //修改密码
			
			@Override
			public void onClick(View v) {
				callBack.seletItem(2);
				// TODO Auto-generated method stub
			}
		});
		
		about_relativeLayout.setOnClickListener(new OnClickListener() {      //关于我们
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				callBack.seletItem(3);
			}
		});
		
		tab_center_help_relativeLayout.setOnClickListener(new OnClickListener() {      //帮助中心
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Intent intent = new Intent(mActivity,HelpActivity.class);
				startActivity(intent);
			}
		});		
		
		logout_button.setOnClickListener(new OnClickListener() {   //用户注销
			
			@Override
			public void onClick(View v) {
				AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
				builder.setMessage("要退出登录吗?")
 		       .setCancelable(true).setPositiveButton("确定",  new android.content.DialogInterface.OnClickListener() {
				
				@Override
				public void onClick(DialogInterface dialog, int which) {
					// TODO Auto-generated method stub
					dialog.dismiss();
					MainApplication.loginedUser = new User();
				}
			}).setNegativeButton("取消", new android.content.DialogInterface.OnClickListener() {
				
				@Override
				public void onClick(DialogInterface dialog, int which) {
					// TODO Auto-generated method stub
					dialog.dismiss();
				}
			});
				AlertDialog alert = builder.create();
	    		alert.show();
				// TODO Auto-generated method stub
				
			}
		});
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值