android-recyclerview - RecyclerView 中卡片的翻转动画

标签 android-recyclerview viewflipper

我有 5 张卡片的水平回收器 View ,单击每张卡片时,我必须翻转该卡片并在单击的卡片位置显示新卡片,我该怎么做。?

我尝试过 ViewFlipper,但没有成功。

最佳答案

可能的解决方案是使用此库:EasyFlipView

如何在 RecycleView 中使用它的简短示例:

使用此 .xml 布局作为适配器 View 项。 请注意在 EasyFlipView 之后首先添加背面布局(要翻转的卡片背面),因为这是该库识别哪个布局将是正面或背面的方式。

<com.wajahatkarim3.easyflipview.EasyFlipView 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/flipView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:flipDuration="400"
    app:flipEnabled="true"
    app:flipType="horizontal"
    app:flipOnTouch="false">
    <!--Back-->
    <include
        android:id="@+id/backSide"
        layout="@layout/back_activity" />

    <!--Front-->
    <include
        android:id="@+id/frontSide"
        layout="@layout/front_activity" />

</com.wajahatkarim3.easyflipview.EasyFlipView>

在您将绑定(bind) View 的 CustomRecycleViewAdapter 之后。 为 backSide 和 frontSide 设置 ClickListener 以及 body 来翻转卡片,如下所示(Kotlin 中的示例):

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    holder.bind(data[position])
}

inner class ViewHolder(private val view: View) : 
       RecyclerView.ViewHolder(view) {
 private val backSide: ConstraintLayout = view.findViewById(R.id.backSide)
 private val frontSide: ConstraintLayout = view.findViewById(R.id.frontSide)
 private val flipView: EasyFlipView = view.findViewById(R.id.flipView)

 init{
  backSide.setOnClickListener {
            flipView.flipDuration = 1000
            flipView.flipTheView()
        }
   frontSide.setOnClickListener {
            flipView.flipDuration = 1000
            flipView.flipTheView()
        }
 }
 fun bind(item: SomeData) {//.... }

}

所有功劳归于该库的作者,链接 - https://github.com/wajahatkarim3/EasyFlipView

关于android-recyclerview - RecyclerView 中卡片的翻转动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39366484/

相关文章:

android - 如何从 RecyclerView 列表中获取选定的项目?

java - 如何使用 RecyclerView 显示空 View ?

android - 如何让布局/ View 显示在 viewflipper 下方

android - 在没有按钮的android中使用viewflipper翻转图像

android - 在 Android View 之间翻转

android - 当在垂直 RecyclerView 内的水平 RecyclerView 上垂直滚动时,AppBarLayout 不会折叠/展开

android - 如何使用 Jetpack compose 实现交错网格布局?

java - 如何在 recyclerview 元素中设置固定的 CountDownTimer?

Android ViewFlipper showPrevious 300 毫秒后

java - 如何在android中使用ViewFlipper从ImageURLs的ArrayList制作幻灯片?