在`alpha`动画期间出现奇怪的阴影行为

13

我有一个包含CardView项的回收视图。当屏幕打开时,我会在回收视图上开始一个alpha动画:

recyclerView.animate().alpha(1f).setStartDelay(300).start()

可回收项:

<android.support.v7.widget.CardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginStart="20dp"
    android:layout_marginTop="6dp"
    android:layout_marginEnd="20dp"
    android:layout_marginBottom="6dp"
    app:cardCornerRadius="10dp"
    app:cardElevation="4dp">
...
</android.support.v7.widget.CardView>

这个问题是当动画运行时,CardView 的阴影朝上,但当动画结束后,阴影方向改变为向下(正常情况下)。

这个问题只在Android 9上出现。

P.S. 对我的英语表示抱歉)


有关这个问题有任何更新吗?我遇到了同样的问题。 - Fábio Carballo
2
我遇到了同样的问题,并在这里提交了bug报告。https://issuetracker.google.com/issues/132569416 - Abhishek Bansal
2个回答

1

我找到了一个部分解决方案,

如果您在父视图中添加android:layerType="hardware",阴影将不再翻转方向。

缺点是阴影永久指向错误的方向。


1

找到了一种解决方法。 确保 alpha 动画的目标是 CardView 本身,而不是其父级,并且其父级的 alpha 必须为 1F。 在我的情况下有效。 希望它也能帮到你。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接