我想在底部工具栏中创建一个FloatingActionButton动画,就像在Material Design指南的工具栏部分一样。
我正在使用官方支持设计库中的FloatingActionButton。我把FAB放在另一个布局中,当FAB缩放时它将剪辑它。我在FAB上使用setScaleX()和setScaleY(),但在不同的API版本上遇到问题。
问题屏幕(对不起解决方案,我没有想要升级它,所以你不会错过这个问题):
在API 21中FAB模糊,因为它得到scaledX / scaledY,并且当FAB填充整个视图随机边框时,由背景开始闪烁(在最后的屏幕截图中可以看到)。 这些都不会发生在其他API中,FAB没有模糊,并且填充正确的整个视图,没有背景可见。
测试了不同的分辨率,从480x800到1200x1920,以及从16到22的API。可能是什么问题?它是21版Lollipop中的一个错误吗?
答案 0 :(得分:0)
解决方案解决方案:
我决定用-v21版本覆盖布局,我在其中使用强调色创建了简单的圆形视图。此视图不会在任何其他版本的android中呈现,隐藏在FAB下方,默认可见性为GONE。
使用FAB onClickListener我将View可见性设置为visible,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);
}