【问题标题】:Disable animation of drawer icon in double navigation drawer for right drawer在右侧抽屉的双导航抽屉中禁用抽屉图标的动画
【发布时间】:2014-02-18 22:56:02
【问题描述】:

我有一个Double Navigation Drawer

我有两个问题。

1) 左侧的抽屉式导航栏图标(3 条)在打开或关闭右侧的抽屉式导航栏时动画。

2) 我不知道如何将图标添加到右侧并让它只为右侧抽屉设置动画。

【问题讨论】:

  • 我也想知道这个。我知道你可以通过覆盖 onDrawerSlide 方法来阻止动画,但是图标只是跳过而不是动画。
  • @ChaseFlorell 你签出ActionBarDrawerToggle source了吗?假设您正在关注example in the docs,它是动画操作栏图标的类。为左/右行为复制它应该非常简单;添加右侧的图标可能是棘手的部分。
  • @AdamS 是的,我在右边找到了图标……很简单。但是我正在做的 OnDrawerSlide 覆盖只会阻止动画......现在图标只是跳到左边。 gist.github.com/ChaseFlorell/10519029

标签: android navigation-drawer drawerlayout


【解决方案1】:

如果抽屉是右抽屉,则需要重写 ActionBarDrawerToggle 的 onDrawerSlide 方法并将 slideOffset 设置为 0。所以这将禁用右抽屉的导航抽屉图像 的动画。

  @Override
  public void onDrawerSlide(View drawerView, float slideOffset) 
  {
        if(drawerView!=null && drawerView == rightDrawerListView){
              super.onDrawerSlide(drawerView, 0);
        }else{
              super.onDrawerSlide(drawerView, slideOffset);
        }
  }

这对我来说类似于 Google+。

【讨论】:

  • 这对我有用,而且我必须在 onDrawerOpened() 方法的末尾添加 super.onDrawerSlide(drawerView, 0);,以防止它在抽屉动画后突然打开。
  • 这对我也有用,添加 if (drawerView != null && drawerView == navDrawRight.getView()) { super.onDrawerSlide(drawerView, 0); } 到 onDrawerOpened() 的末尾
  • 如果我在活动onCreate() 中调用openDrawer(mDrawer),图标开始偏向一边,有人知道解决此问题的方法吗?
  • 我试过这个。我收到关于 super 类中没有方法 onDrawerSlide 的错误。为什么?我正在使用 v7 ActionBar。我认为这是问题所在。
  • 试过了。但是右抽屉没有切换图标。
猜你喜欢
  • 2014-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多