Я работаю над RecyclerView, который показывает в горизонтальной ориентации список элементов.Каждый элемент - это CardView с elevation=8dp
.Высота дает элементам тень, которая обрезается RecyclerView.Чтобы все заработало, я добавил android:clipChildren="false"
и android:clipToPadding="false"
, чтобы тень больше не обрезалась.Все работает до тех пор, пока не изменится альфа RV.
Анимация, которую я использую, чтобы скрыть RV:
view.apply {
animate().alpha(0f)
.setDuration(300)
.withEndAction { view.visibility = outVisibility }
.start()
}
... и та, чтобы показать ее:
view.apply {
if (visibility != View.VISIBLE) alpha = 0f
animate().alpha(1f)
.setDuration(300)
.withStartAction { view.visibility = View.VISIBLE }
.start()
}
ВЫПУСК
Пока alpha
RV меньше, чем 1.0
, предметы внутри RV обрезаются (тени).Как только alpha
достигает 1.0
, тени внезапно перестают обрезаться, и все снова выглядит хорошо.
Могу ли я что-нибудь сделать, чтобы это исправить?
Та же проблема возникает, если яустановите alpha
на фиксированное значение ниже 1.0
в XML (без анимации в этом случае).Также та же проблема возникает, когда я пытаюсь анимировать alpha
элементов внутри RV.
Когда RV alpha = 1.0
https://www.dropbox.com/s/g1cun1jqv0op0qw/Screenshot_20190423-180952__01.jpg?dl=0
Когда RValpha = 0.9
https://www.dropbox.com/s/s06f9f3orci135m/Screenshot_20190423-180819__01.jpg?dl=0
ОБНОВЛЕНИЕ 1 Когда я пытаюсь анимировать alpha
RV-родителя вместо самого RV, проблема исчезает.Но это немного странно, когда нужно обернуть RV в дополнительного родителя, чтобы оживить его альфа: /