Example #1
0
  @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();
  }
Example #2
0
  @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);
  }
Example #3
0
  /**
   * 选择了侧边栏,切换侧边栏菜单
   *
   * @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);
    }
  }