met*_*oid 6 android alpha elevation shadow kotlin
我正在开发一个 RecyclerView,它以水平方向显示项目列表。每个项目都是一个具有elevation=8dp
. 标高为项目提供了被 RecyclerView 剪切的阴影。因此,为了使其正常工作,我添加了阴影android:clipChildren="false"
,android:clipToPadding="false"
以便不再剪切阴影。一切正常,直到 RV 的 alpha 发生变化。
我用来隐藏 RV 的动画:
view.apply {
animate().alpha(0f)
.setDuration(300)
.withEndAction { view.visibility = outVisibility }
.start()
}
Run Code Online (Sandbox Code Playgroud)
...以及展示它的人:
view.apply {
if (visibility != View.VISIBLE) alpha = 0f
animate().alpha(1f)
.setDuration(300)
.withStartAction { view.visibility = View.VISIBLE }
.start()
}
Run Code Online (Sandbox Code Playgroud)
问题
只要alpha
RV 低于1.0
RV 内部的项目就会被剪裁(阴影)。一旦alpha
到达,1.0
阴影就会突然停止被剪切,一切看起来又恢复正常了。
我能做些什么来解决它吗?
如果我将 XML 设置alpha
为下面的固定值1.0
(在这种情况下根本不动画),则会出现同样的问题。当我尝试为alpha
房车内的物品设置动画时,也会出现同样的问题。
当RV alpha = 1.0
https://www.dropbox.com/s/g1cun1jqv0op0qw/Screenshot_20190423-180952__01.jpg?dl=0
当RV alpha = 0.9
https://www.dropbox.com/s/s06f9f3orci135m/Screenshot_20190423-180819__01.jpg?dl=0
更新 1
当我尝试为alpha
RV 父级而不是 RV 本身设置动画时,问题就消失了。但不得不将 RV 包裹在额外的父级中只是为了为其 alpha 提供动画效果,感觉有点老套:/
归档时间: |
|
查看次数: |
575 次 |
最近记录: |