package com.dollearn.student.ui.home.adapter
|
|
import android.view.View
|
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
|
import cn.sinata.xldutils.adapter.util.ViewHolder
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.visible
|
import com.dollearn.student.R
|
import com.dollearn.student.network.entity.Card
|
import com.dollearn.student.utils.ViewAnimUtils
|
import kotlinx.android.synthetic.main.fragment_q_a.*
|
import java.util.ArrayList
|
|
class CardAdapter(list: ArrayList<Card>):HFRecyclerAdapter<Card>(list, R.layout.item_card) {
|
override fun onBind(holder: ViewHolder, position: Int, data: Card) {
|
val frame = holder.bind<View>(R.id.frame)
|
val back = holder.bind<View>(R.id.back)
|
val front = holder.bind<View>(R.id.front)
|
frame.setOnClickListener {
|
flip(position,frame,back, front)
|
}
|
if (data.isBack){
|
back.visible()
|
front.gone()
|
}else{
|
back.gone()
|
front.visible()
|
}
|
}
|
|
private fun flip(position: Int,parent:View,back: View,front: View){
|
var direction = 1
|
if (back.isShown) {
|
direction = -1
|
}
|
ViewAnimUtils.flip(parent, 300, direction)
|
parent.postDelayed({
|
mData[position].isBack = direction != -1
|
switchViewVisibility(back, front) },300)
|
}
|
|
private fun switchViewVisibility(back:View,front:View) {
|
if (back.isShown) {
|
back.visibility = View.GONE
|
front.visibility = View.VISIBLE
|
} else {
|
back.visibility = View.VISIBLE
|
front.visibility = View.GONE
|
}
|
}
|
}
|