【问题标题】:Hamburger icon both side with back arrow animation in toolbar for Two NavigationView?两个NavigationView的工具栏中的汉堡图标两侧带有后退箭头动画?
【发布时间】:2015-06-24 11:04:20
【问题描述】:

首先看下面的截图,只关注汉堡包图标,这样你就会快速了解我真正想要什么。?

首先我已经成功实现了左右两侧的导航视图(抽屉) 这样用户就可以从左右打开两个抽屉。

现在我的问题是我想要两边都有动画的汉堡图标。 我已经在工具栏的左侧实现了汉堡图标,这很简单,默认情况下。 但现在我希望它在右侧也带有箭头动画。

  1. 点击左侧汉堡图标打开左侧抽屉。 (完成)
  2. 点击右侧汉堡图标从右侧打开抽屉。 (剩下的)

那么是否可以在一个工具栏上有两个汉堡包图标?

注意:两个抽屉都是用手势打开的。我对此没有意见。

【问题讨论】:

  • 没有。只是不,不要这样做。为什么?
  • 我只是想要它。这是应用程序要求..
  • 左侧抽屉通常用于导航。右侧抽屉可用于存放内容。您不希望将用户与 2 个导航抽屉混淆。
  • 汉堡图标用于导航。您应该使用与内容相关的另一个图标。
  • 你不应该有一个图标图像代表两个不同的动作。这令人困惑且不合逻辑。

标签: android navigation-drawer android-toolbar android-design-library navigationview


【解决方案1】:

我认为你可以使用 FrameLayout 来做到这一点。

现在考虑以下布局

<FrameLayout>
     <Toolbar />
     <Toolbar layout_direction="right" />
</FrameLayout>

使用这个,两个工具栏将出现在彼此的顶部。 将抽屉图标放在两个工具栏上,第二个工具栏将其呈现在右侧,因为我们已将布局方向指定为向右。

注意:使上方工具栏透明。

希望对你有帮助。

【讨论】:

    【解决方案2】:

    我相信SlidingMenu library 就是你要找的。它有LEFTRIGHT 模式。

    【讨论】:

      【解决方案3】:

      您可以编写动画,像这样翻译您的右侧图标

      打开抽屉时从 x 到 x-someDelta

      关闭抽屉时 从 x-somedelta 到 x

      编辑:

      您可以使用 ObjectAnimator 及其超类 Value Animator

      你可以这样做

      ObjectAnimator anim = ObjectAnimator.ofFloat(rightIcon, "translationX", 0,50); 
      
      anim.start();
      

      使用布尔值并在对象动画器中将其切换为 50,0 以向后滑动

      您也可以使用 setDuration 方法来设置动画需要多长时间才能完成

      【讨论】:

      • 感谢您的努力.. 但我想要android材料的默认汉堡图标
      猜你喜欢
      • 2015-01-22
      • 1970-01-01
      • 2017-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-18
      • 2015-03-02
      相关资源
      最近更新 更多