@Override protected void onResume() { super.onResume(); // 修复偶尔Fab按钮不见了 if (menuFragment != null && menuFragment.getSelectedId() == 1) { if (fabBtn.getVisibility() != View.VISIBLE) { fabBtn.setVisibility(View.VISIBLE); } } if (!AppContext.isLoggedIn()) { finish(); return; } if (AppContext.getAccount().getAccessToken().isExpired()) { requestLogin(this, AppContext.getAccount()); } invalidateOptionsMenu(); }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ui_main); CacheClearFragment.clearCompress(); BizFragment bizFragment = BizFragment.createBizFragment(this); bizFragment.createFabAnimator(fabBtn); fabBtn.setOnLongClickListener( new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { // 触发一次刷新 ((AsToolbar) getToolbar()).performDoublcClick(); appBarLayout.setExpanded(true); return true; } }); bizFragment.getFabAnimator().setDuration(200); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(false); setupDrawer(savedInstanceState); setupMenu(savedInstanceState); setupFab(savedInstanceState); setupAppBarLayout(savedInstanceState); if (savedInstanceState != null) { toolbarTitle = savedInstanceState.getString("toolbarTitle"); if (!TextUtils.isEmpty(toolbarTitle)) getSupportActionBar().setTitle(toolbarTitle); } mInstance = this; OtherItemFragment.checkPhotoPermission(this, true); }
/** * 选择了侧边栏,切换侧边栏菜单 * * @param item * @return */ @Override public void onMenuClicked(MenuFragment.NavMenuItem item, boolean closeDrawer) { invalidateOptionsMenu(); ABaseFragment fragment = null; // 切换ContentFragment,或者跳转到新的界面 switch (item.id) { // 首页 case MenuFragment.MENU_MAIN: fabGroupsFragment.triggerLastPosition(); break; // 通知 case MenuFragment.MENU_NOTIFICATION: fragment = NotificationPagerFragment.newInstance(newIntentNotificationIndex); newIntentNotificationIndex = -1; break; // 提及 case MenuFragment.MENU_MENTION: fragment = MentionPagerFragment.newInstance(); break; // 评论 case MenuFragment.MENU_CMT: fragment = CommentPagerFragment.newInstance(); break; // 私信 case MenuFragment.MENU_MD: new IAction( MainActivity.this, new WebLoginAction(MainActivity.this, BizFragment.createBizFragment(this))) { @Override public void doAction() { WeiboClientActivity.launchDM(MainActivity.this); } }.run(); MobclickAgent.onEvent(MainActivity.this, "md"); break; // 热门微博 case MenuFragment.MENU_HOT_STATUS: WeiboClientActivity.launchHotStatuses(this); MobclickAgent.onEvent(MainActivity.this, "hot_status"); break; // 草稿箱 case MenuFragment.MENU_DRAT: fragment = DraftFragment.newInstance(); break; // 设置 case MenuFragment.MENU_SETTINGS: SettingsPagerFragment.launch(this); break; // 轻松一刻 case MenuFragment.MENU_JOKE: fragment = JokesPagerFragment.newInstance(); MobclickAgent.onEvent(this, "menu_joke"); break; // 精美壁纸 case MenuFragment.MENU_WALLPAPER: fragment = WallpaperFragment.newInstance(); MobclickAgent.onEvent(this, "menu_wallpaper"); break; } if (fragment != null) { setFragemnt(fragment, getString(item.toolbarRes)); } // 隐藏Fab按钮 if (item.id == 1) { fabBtn.setVisibility(View.VISIBLE); // 显示Fab BizFragment.createBizFragment(this).getFabAnimator().show(); } else { fabBtn.setVisibility(View.GONE); } // 关闭侧边栏 if (closeDrawer) { mHandler.postDelayed( new Runnable() { @Override public void run() { closeDrawer(); } }, 300); } }