【问题标题】:Scaled FloatingActionButton blurred in API 21API 21 中的缩放 FloatingActionButton 模糊
【发布时间】:2015-10-23 16:25:45
【问题描述】:

我想让一个 FloatingActionButton 动画到底部工具栏,就像在 Material Design 指南的工具栏部分一样。

我正在使用官方支持设计库中的 FloatingActionButton。我将 FAB 放在另一个布局中,当 FAB 缩放时会对其进行剪辑。我在 FAB 上使用 setScaleX() 和 setScaleY(),但在不同的 API 版本上遇到了问题。

问题的屏幕(抱歉解决,我不想放大它,所以你不会错过问题):

http://imgur.com/9Mquwi6

在 API 21 中,FAB 在 scaledX/scaledY 时变得模糊,并且随着 FAB 填充整个视图的随机边框,由背景制成的随机边框开始闪烁(在最后的屏幕截图中可以看到)。 在其他 API 中都不会发生这种情况,FAB 不会模糊并正确填充整个视图,没有可见的背景。

在从 480x800 到 1200x1920 的不同分辨率以及从 16 到 22 的 API 上进行了测试。可能是什么问题?是21版Lollipop的BUG吗?

【问题讨论】:

  • 运气好能解决这个问题吗?我刚刚在 API 21 上遇到了同样的事情

标签: android animation scale material-design floating-action-button


【解决方案1】:

解决方法:

我决定使用 -v21 版本覆盖布局,在该版本中我创建了带有强调色的简单圆形视图。此视图不会在任何其他版本的 android 上呈现,隐藏在 FAB 下方,默认可见性已消失。

使用 FAB onClickListener 我将视图可见性设置为可见,将 fab 设置为 GONE 并在我创建的视图上运行动画。再说一遍——这只发生在 API 21 上。其他 API 不受影响。

                if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP){
                    fab.setVisibility(View.GONE);
                    final View fabAnimHelper = fL.findViewById(R.id.fab_anim_helper);
                    fabAnimHelper.setVisibility(View.VISIBLE);
                    fabAnimHelper.startAnimation(fabFill);
                } else {
                    fab.startAnimation(fabFill);
                }

【讨论】:

    猜你喜欢
    • 2020-08-27
    • 2015-12-23
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    相关资源
    最近更新 更多