浮动操作按钮,版本23.2没有隐藏

时间:2016-03-09 14:37:55

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

我使用新的支持库版本23.2

com.android.support:design:23.2.0

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

在支持库版本23.1中 - 它完美无缺。 任何人都可以解释一下,问题是什么?

另外,当我使用23.2版本时,Android Studio预览界面会显示一些内部错误enter image description here

修改

因此,通过断点和调试,我找到了类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() 屏幕截图enter image description here

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

 @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);
                    }
                });
            }
        });
    }

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我试图解决这个问题很长一段时间。我发现,我的FAB真的没有隐藏只有支持设计23.2。我没找到为什么。 我刚刚更改了23.1版本的依赖项 和!这对于transitive=true的某些图书馆来说非常重要,我添加了排除字符串

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

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