【问题标题】:Strange shadow behavior during `alpha` animation`alpha` 动画期间的奇怪阴影行为
【发布时间】:2019-07-05 21:55:36
【问题描述】:

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 上发现问题。

附:对不起我的英语)

【问题讨论】:

标签: android animation shadow elevation


【解决方案1】:

我找到了部分修复,

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

不利的一面是阴影永远指向错误的方向。

【讨论】:

    【解决方案2】:

    找到了解决方法。 确保 CardView 本身而不是其父级上的 alpha 动画目标,并且其父级的 alpha 必须为 1F。 在我的情况下这项工作。 希望对你也有帮助。

    【讨论】:

      猜你喜欢
      • 2017-07-11
      • 1970-01-01
      • 2021-02-19
      • 1970-01-01
      • 2016-04-19
      • 2011-12-17
      • 1970-01-01
      • 2012-01-30
      • 1970-01-01
      相关资源
      最近更新 更多