blob: f2ab3934b791771b50a3a163b44705445dca66d1 [file] [log] [blame]
package com.airbnb.lottie.samples.views
import android.content.Context
import android.util.AttributeSet
import android.view.View
import android.widget.LinearLayout
import com.airbnb.epoxy.ModelProp
import com.airbnb.epoxy.ModelView
import com.airbnb.lottie.samples.LottiefilesMode
import com.airbnb.lottie.samples.databinding.LottiefilesTabBarBinding
import com.airbnb.lottie.samples.utils.viewBinding
@ModelView(autoLayout = ModelView.Size.MATCH_WIDTH_WRAP_HEIGHT)
class LottiefilesTabBar @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : LinearLayout(context, attrs, defStyleAttr) {
private val binding: LottiefilesTabBarBinding by viewBinding()
@ModelProp
fun setMode(mode: LottiefilesMode) {
binding.popularView.isActivated = mode == LottiefilesMode.Popular
binding.recentView.isActivated = mode == LottiefilesMode.Recent
binding.searchView.isActivated = mode == LottiefilesMode.Search
}
@ModelProp(options = [ModelProp.Option.DoNotHash])
fun setPopularClickListener(listener: View.OnClickListener) {
binding.popularView.setOnClickListener(listener)
}
@ModelProp(options = [ModelProp.Option.DoNotHash])
fun setRecentClickListener(listener: OnClickListener) {
binding.recentView.setOnClickListener(listener)
}
@ModelProp(options = [ModelProp.Option.DoNotHash])
fun setSearchClickListener(listener: OnClickListener) {
binding.searchView.setOnClickListener(listener)
}
}