如何使用支持库23修复缩放的FloatingActionButton上的阴影

时间:2015-12-17 10:44:01

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

我在使用支持库23的KitKat设备上有一个FAB。我正在缩放按钮以获得过渡效果(通过在调整大小视图中包含它)。这基本上与阴影区分开来,阴影以奇怪的形式出现(参见屏幕截图中的缩放红色按钮,蓝色按钮是全尺寸)。

enter image description here

实际上发生的事实是阴影位于4个“角落”位图中,这些位图重叠以产生奇怪的效果。

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

这看起来很有趣!

不幸的是,我没有成功尝试重现这个问题 - 如果你能提供你运行的代码,那就太好了 - 但这里是我写给动画和扩展浮动动作按钮的代码:

enter image description here

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.animate().scaleX(0.1f).scaleY(0.1f).setDuration(100).setListener(
    new Animator.AnimatorListener() {
        @Override
        public void onAnimationStart(Animator animator) {}

        @Override
        public void onAnimationEnd(Animator animator) {
            fab.setBackgroundTintList(getResources().getColorStateList(R.color.colorPrimary, getTheme()));
            fab.setImageDrawable(getResources().getDrawable(R.drawable.common_full_open_on_phone, getTheme()));

            fab.animate().scaleX(2).scaleY(2).setListener(null).setDuration(200).start();
        }

        @Override
        public void onAnimationCancel(Animator animator) {}

        @Override
        public void onAnimationRepeat(Animator animator) {}
    }).start();

当然,可以调整和改进特定的动画速度和效果。 我希望,这有帮助。

答案 1 :(得分:0)

使用缩放属性调整浮动按钮的大小。阴影会很好

<android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scaleType="center"
    android:scaleX="0.75"
    android:scaleY="0.75"/>