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
- sildingmenu使用
- Android学习之 sildingmenu
- Android学习之 sildingmenu
- Android开发~Sildingmenu
- sildingmenu model 导入
- SildingMenu和ViewPager的结合使用及怎么实现ViewPager是滑动到首页左滑才出现菜单栏的
- SildingMenu在androidstudio上面的安装
- android studio 导图第三方库(列:sildingMenu)
- Sildingmenu不用fragment实现侧滑点击切换界面
- 关于AndriodStudio导入问题—以Github开源代码SildingMenu为例
- 使用
- 使用
- 使用
- 使用
- 使用
- 使用
- 使用++,--
- 使用$@ $!
- 自己搜集的js面试题
- linux命令分割文件
- 设计模式 - 状态模式(state pattern) 未使用状态模式 详解
- 不仅带给你美妙的视觉感受,更承载着你的整个身体
- 的非官方的和烦得很梵蒂冈梵蒂冈发的
- sildingmenu使用
- MPC8309 NAND_SPL uboot初始化流程
- Spring Web Flow 2.0 入门
- poj 网络最大流模板
- 安卓源代码下面的docs文件夹
- java request获取请求路径的信息
- 彻底了解mapreduce核心Shuffle--解惑各种mapreduce问题
- maven 入门
- ubuntu搭建ntp服务器