RecyclerView элементы обрезают тень, когда RV альфа меньше 1,0 - PullRequest
0 голосов
/ 23 апреля 2019

Я работаю над 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 в дополнительного родителя, чтобы оживить его альфа: /

...