gpt4 book ai didi

Android - 去除按下动画的阴影

转载 作者:行者123 更新时间:2023-11-30 01:43:03 26 4
gpt4 key购买 nike

我有一个 FAB,我想在两个 Action 之一发生时用翻转动画。第一个是屏幕内容的变化,第二个是按下 FAB 以确认操作。

我正在使用支持库 v22.2.1 中的 FAB

我正在使用这个对象动画师来做这件事

 ObjectAnimator animation = ObjectAnimator.ofFloat(myFab, "rotationY", 0.0f, 360f);
animation.setDuration(400);
animation.setInterpolator(new AccelerateDecelerateInterpolator());
animation.start();

动画按预期运行, View 翻转,在 Lollipop 设备上看起来很完美。

在 Lollipop 设备上,它还会翻转阴影,这看起来非常糟糕并且会分散注意力。

我将 FAB 设置为 6 海拔

   <android.support.design.widget.FloatingActionButton
android:id="@+id/my_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_margin="@dimen/fab_compat_margin"
app:borderWidth="0dp"
app:elevation="6dp"/>

为了解决这个问题,我在动画开始前将高度设置为 0,然后在 onAnimationEnd 中将其设置回 6。

这在触发动画的 Action 不是按下的 fab 时有效。

当我按下 FAB 时,它仍然显示阴影,而且是更大的阴影。看起来按下状态阴影与高程阴影是分开的。

我尝试设置一个触摸监听器并移除那里的阴影,但由于触摸,阴影已经存在了。

关于如何绕过触摸阴影动画有什么想法吗?

最佳答案

我想通了。

如果我将 StateListAnimatior 设置为 null,则按下的阴影消失并且动画开始工作。

myFab.setStateListAnimator(null);

虽然这个阴影与高程阴影是分开的,所以我仍然需要在开始动画之前将它们设置为 0。

关于Android - 去除按下动画的阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34168285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com