【问题标题】:Floating Action Button, version 23.2 not hiding浮动操作按钮,版本 23.2 未隐藏
【发布时间】:2016-06-24 00:06:21
【问题描述】:

我使用新的支持库版本 23.2

com.android.support:design:23.2.0

在这个版本中,当我调用 FloatingActionButton.hide() 方法时,我的 FloatingActionButton 没有隐藏。

在支持库版本 23.1 中——它完美运行。 谁能解释一下,有什么问题吗?

另外,当我使用 23.2 版本时,Android Studio 预览屏幕显示一些内部错误

编辑

所以,通过断点和调试,我找到了 FloatingActionButtonIcs 类,它有方法 hide(),并且这个方法应该隐藏 FAB 视图。但是,我发现隐藏动画被取消了。为什么?我不知道:(

这是我所说的课程。 https://android.googlesource.com/platform/frameworks/support.git/+/master/design/ics/android/support/design/widget/FloatingActionButtonIcs.java?autodive=0%2F%2F%2F%2F%2F 还有方法 hide()。在匿名动画监听触发方法onAnimationCancel() 这里截图

编辑 2 是的! 我发现问题!但我不明白为什么它不起作用。我在另一个视图上启动另一个 ObjectAnimator。这是一些代码sn-p。

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scrolling);

        final FloatingActionButton mActionToogleMode = (FloatingActionButton) findViewById(R.id.fab);
        final EditText editText = (EditText) findViewById(R.id.et);

        final ObjectAnimator animator = ObjectAnimator.ofInt(editText, "maxLines", 250);

        mActionToogleMode.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                // WHEN THAT ANIMATION START -- FAB NOT HIDDING
                animator.start();

                mActionToogleMode.hide(new FloatingActionButton.OnVisibilityChangedListener() {
                    @Override
                    public void onHidden(FloatingActionButton fab) {
                        super.onHidden(fab);
                    }
                });
            }
        });
    }

【问题讨论】:

  • 您可以为此添加代码 sn-p 吗?
  • 我只是在布局中使用 FAB(带有 layout_anchor 和 layout_anchorGravity),在我的代码中我为此 FAB 调用方法 hide()。
  • 在没有任何代码的情况下很难诊断。我做了一个快速测试项目,在右下角的CoordinatorLayout 中有一个 FAB,并为它创建了一个名为 hideonClick,它运行良好。
  • 另外,这是在哪个 android 版本上发生的?
  • 我在三星 S4 (Android 5.0.1) 和 LG G4 (Android 6) 上测试过

标签: android android-design-library floating-action-button


【解决方案1】:

在开始动画之前在 FAB 上使用 clearAnimation()。

【讨论】:

    【解决方案2】:

    我尝试解决这个问题已经很长时间了。我发现,我的 FAB 真的不仅仅隐藏在 support-design 23.2 中。我没有找到为什么。 我刚刚更改了 23.1 版本的依赖项 和!很重要,对于一些有transitive=true的库,我加了排除字符串

    exclude group: 'com.android.support', module: '*'
    

    我希望它会在更新版本的支持库中为我修复。

    【讨论】:

      猜你喜欢
      • 2016-07-27
      • 1970-01-01
      • 2020-05-28
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-03
      相关资源
      最近更新 更多