4

My RecyclerView предоставляет список карт, которые могут быть уволены (сместились), вдохновленные Android-SwipeToDismis. Эта часть работает.Android RecyclerView с переворачиванием CardView

Теперь добавлена ​​анимация, чтобы перевернуть карты следующим образом.

final AnimatorSet setRightOut = (AnimatorSet) AnimatorInflater.loadAnimator(mActivity, R.animator.flip_right_out); 
final AnimatorSet setLeftIn = (AnimatorSet) AnimatorInflater.loadAnimator(mActivity, R.animator.flip_left_in); 

setRightOut.setTarget(swipeView); 
setLeftIn.setTarget(backView); 
setRightOut.start(); 
setLeftIn.start(); 

СмартПрай - это карта, которая сместилась. И backView - это CardView, который должен заменить swipeView с помощью анимации flipping.

Все работает нормально, когда я дважды использую swipeView. Таким образом, он переворачивает 360 градусов назад к себе. Но, похоже, я ничего не могу показать.

Как правильно реализовать backView? Ниже моего макета XML.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:card_view="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/card_front" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:descendantFocusability="blocksDescendants" 
     card_view:cardElevation="@dimen/card_elevation"> 

     <LinearLayout ....</LinearLayout> 

    </android.support.v7.widget.CardView> 

    <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:card_view="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/card_back" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:descendantFocusability="blocksDescendants" 
     card_view:cardElevation="@dimen/card_elevation"> 

     <LinearLayout ....</LinearLayout> 

    </android.support.v7.widget.CardView> 

</RelativeLayout> 

С некоторыми доследование он выглядит как мнение есть, но Альфа = 0. При этом некоторая информация из журнала перед запуском в покадровой анимации:

RecyclerFragment: ViewHolder {418f3088 позиция = 1 ID = -1, oldPos = -1, pLpos: -1} RecyclerFragment: getBackCard: android.widget.RelativeLayout {418f1ab8 VE .... ...... I. 0,0-0,0} RecyclerFragment: swipeView: android.widget.RelativeLayout {418eda10 V.E ... C. ........ 0, -13-480,638} RecyclerFragment: LP: [email protected] RecyclerFragment: backView: android.widget.RelativeLayout {418f1ab8 VE .... .... ..Я. 0,0-0,0}

Когда я касаюсь swipView после флип-анимации, я могу перетащить его и отображает первоначальный CardView, повернутый на 180 градусов. который я могу перевернуть снова, но пока ничего не отображается. Однако ничего не отображается без прикосновения. Любые мысли приветствуются!

+0

В конце добавлена ​​некоторая информация о журнале и последующее объяснение. – bart70

ответ

1

Проблема заключалась в том, что swipeView был RelativeLayout, а backView - CardView. Добавлен; final Просмотреть frontView = swipeView.findViewById (R.id.front_card);